0

私の回帰の問題では、scikit-learn の GridSearchCV を使用して最適なアルファ値を取得し、このアルファ値を推定器 (Lasso、Ridge、ElasticNet) で使用しています。トレーニング データセットの目標値に負の値が含まれていません。ただし、一部の予測値はマイナスです (約 5 ~ 10%)。次のコードを使用しています。私のトレーニング データにはいくつかの Null 値が含まれており、その機能を使用してそれらを置き換えています。

return Lasso(alpha=best_parameters['alpha']).fit(X,y).predict(X_test)

なぜいくつかを負の値として取得するのですか? X,y と X_test の形状は (20L, 400L) (20L,) (10L, 400L)

4

1 に答える 1

3

LASSO は正規化された線形回帰であるため、実際には、トレーニングされたモデルごとに、予測子が負になる値がいくつかあります。

線形関数を考える

f(x) = w'x + b

w と x はベクトルで、' は転置演算子です。

wandの値が何であれ、がゼロ ベクトルでないb限り、常にwhich の値があります。また、w と b の計算に使用されるトレーニング セットに負の値が含まれていなくても問題ありません。線形モデルは常に (おそらく非常に大きな値で) 0 値を超えます。wxf(x)<0

于 2013-11-17T16:07:02.027 に答える