Ridge -Regression in Sklearn

Ridge -Regression in Sklearn
Ridge Regression ist eine Technik im maschinellen Lernen, um die Daten zu regulieren, die zur Durchführung der linearen Regression verwendet werden. Es ist eine Optimierung der einfachen linearen Regression. In diesem Artikel werden wir über die Regression der Ride Ridge, ihre Vorteile, die von ihm gelösten Probleme und ihre Implementierung in Sklearn diskutieren.

Was ist Ridge Regression?

Um die Vorhersagegenauigkeit zu erhöhen. Es funktioniert besonders gut, wenn Ihr Datensatz korrelierte Spalten enthält, die Sie als Eingaben (unabhängige Variablen) in Regressionsmodelle verwenden möchten, aber keiner Ihrer Modelle lieferte sehr genaue Ergebnisse. Mit anderen Worten, Ridge Regression ist eine Modellabstimmungstechnik, die für jede multikollineare Datenanalyse verwendet wird. Die Daten werden mit dieser Methode einer L2 -Regularisierung unterzogen.

Die Kostenfunktion für die Regression von Ridge ist:

Min (|| y - x (theta) ||^2 + λ || theta ||^2)

Was ist Multikollinearität?

Das Konzept der Multikollinearität basiert auf statistischer Forschung. Gerade wenn Ihre unabhängigen Variablen einen signifikanten Korrelationsgrad haben. Die Kollinearität wirkt sich nicht direkt auf die Antwortvariable aus. Es handelt sich vielmehr um die Wechselwirkungen zwischen den Prädiktorvariablen oder den Eigenschaften. Die Schätzungen der Regressionskoeffizienten können aufgrund der Multikollinearität ungenau sein. Dies kann möglicherweise die Standardfehler des Regressionskoeffizienten erhöhen und die Wirksamkeit von T-Tests verringern. Die Multikollinearität kann irreführende Ergebnisse und P-Werte liefern, die Modellreduktion erhöhen und die Wirksamkeit und Zuverlässigkeit der Vorhersehbarkeit senken.

Vorteile der Ridge -Regression

  • Es schützt sich vor dem Modell, das zu überwältigen wird.
  • Es erfordert keine objektiven Schätzer.
  • Es gibt nur eine geringe Menge an Verzerrung, sodass die Schätzungen eine ziemlich genaue Annäherung an die echten Bevölkerungszahlen sind.
  • Wenn es eine Multikollinearität gibt, ist der Ridge-Schätzer sehr nützlich, um die Schätzung der kleinsten Quadrate zu verbessern.

Implementierung der Ridge -Regression in Sklearn

Importieren erfordert die folgenden Bibliotheken:

von Sklearn.linear_model import Ridge
Numph als NP importieren

Erstellen Sie den Datensatz mit dem folgenden Befehl:

n_samples, n_features = 20, 4
Data = np.willkürlich.RandomState (0)
y = Daten.Randn (n_samples)
X = Daten.Randn (N_samples, N_Features)
Druck ('Funktionen sind', x)
print ('Etiketten sind', y)

Ausgang:

Merkmale sind [-2.55298982 0.6536186 0.8644362 -0.74216502]
[2.26975462 -1.45436567 0.04575852 -0.18718385]
[1.53277921 1.46935877 0.15494743 0.37816252]
[-0.88778575 -1.98079647 -0.34791215 0.15634897]
[1.23029068 1.20237985 -0.38732682 -0.30230275]
[-1.04855297 -1.42001794 -1.70627019 1.9507754]
[-0.50965218 -0.4380743 -1.25279536 0.77749036]
[-1.61389785 -0.21274028 -0.89546656 0.3869025]
[-0.51080514 -1.18063218 -0.02818223 0.42833187]
[0.06651722 0.3024719 -0.63432209 -0.36274117]
[-0.67246045 -0.35955316 -0.81314628 -1.7262826]
[0.17742614 -0.40178094 -1.63019835 0.46278226]
[-0.90729836 0.0519454 0.72909056 0.12898291]
[1.13940068 -1.23482582 0.40234164 -0.68481009]
[-0.87079715 -0.57884966 -0.31155253 0.05616534]
[-1.16514984 0.90082649 0.46566244 -1.53624369]
[1.48825219 1.89588918 1.17877957 -0.17992484]
[-1.07075262 1.05445173 -0.40317695 1.22244507]
[0.20827498 0.97663904 0.3563664 0.70657317]
[0.01050002 1.78587049 0.12691209 0.40198936]]
Etiketten sind [1.76405235 0.40015721 0.97873798 2.2408932 1.86755799 -0.97727788
0.95008842 -0.15135721 -0.10321885 0.4105985 0.14404357 1.45427351
0.76103773 0.12167502 0.44386323 0.33367433 1.49407907 -0.20515826
0.3130677 -0.85409574]

Erstellen und Anpassung des Modells:

Modell = Ridge (Alpha = 1.0)
Modell.fit (x, y)

Abschluss

Wir haben das Ridge -Regressionsmodell im maschinellen Lernen diskutiert, mit dem die L2 -Regularisierung der Daten durchgeführt wird, um eine Überanpassung zu verhindern. Es ist eine erweiterte Version einer einfachen linearen Regression. Wir haben auch die Implementierung mit sklearn erörtert.