サーチ…
普通の正方形
通常の最小二乗法は、以下の意味で観測結果に最もよく適合するフィーチャの線形結合を見つける方法です。
予測される結果のベクトルがyであり、説明変数が行列Xを形成する場合、OLSはベクトルβを求める
minβ | y ^ - y | 2 2 、
ここで、 y ^ = Xβは線形予測である。
sklearnでは、これはsklearn.linear_model.LinearRegression
を使って行われます。
アプリケーションコンテキスト
OLSは回帰問題にのみ適用されるべきであり、一般に分類問題には不適当である:コントラスト
- 電子メールはスパムですか? (分類)
- upvotes間の線形関係は、回答の長さに依存しますか? (回帰)
例
多少のノイズを含む線形モデルを生成し、 LinearRegression
が線形モデルを再構築するかどうかを見てみましょう。
まず、 X
行列を生成します。
import numpy as np
X = np.random.randn(100, 3)
今、私たちは、生成しますy
の線形結合としてX
いくつかのノイズを持ちます:
beta = np.array([[1, 1, 0]])
y = (np.dot(x, beta.T) + 0.01 * np.random.randn(100, 1))[:, 0]
y
生成する真の線形結合は、βによって与えられることに留意されたい。
X
とy
だけからこれを再構築しようとするには、次のようにしましょう:
>>> linear_model.LinearRegression().fit(x, y).coef_
array([ 9.97768469e-01, 9.98237634e-01, 7.55016533e-04])
このベクトルはbeta
に非常に似ています。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow