27

これは、回帰による正則化に関する初心者の質問です。オンラインのElasticNetとLassoRegressionに関するほとんどの情報は、WikipediaまたはZouとHastieによる元の2005年の論文(エラスティックネットを介した正則化と変数選択)からの情報を複製しています。

簡単な理論のためのリソース?それが何をするのか、いつ、なぜ正規化が必要なのか、そしてそれをどのように使用するのかについて、統計的に傾いていない人のために、どこかに簡単で簡単な説明がありますか?元の論文が理解できれば理想的な情報源であることは理解していますが、もっと単純な問題と解決策はどこかにありますか?

sklearnでの使用方法は?エラスティックネットが選択される理由(リッジ、ラッソ、または単純なOLS)と、パラメーターの計算方法を示すステップバイステップの例はありますか?sklearnの例の多くは、アルファパラメータとrhoパラメータを予測モデルに直接含めています。例

from sklearn.linear_model import ElasticNet
alpha = 0.1
enet = ElasticNet(alpha=alpha, rho=0.7)
y_pred_enet = enet.fit(X_train, y_train).predict(X_test)

ただし、これらがどのように計算されたかについては説明されていません。投げ縄またはネットのパラメータをどのように計算しますか?

4

3 に答える 3

27

ドキュメントが不足しています。私はそれを改善するために新しい問題を作成しました。アンドレアスが言ったように、最高のリソースはおそらくオンラインでPDFとして無料で入手できるESLIIでしょう。

alphaの値を自動的に調整するために、ElasticNetCVを使用することは確かに可能です。これは、調整のためにクラスで GridSearchCVを使用するのとは対照的に、冗長な計算を節約します。補足として、の最適値を見つけるために通常を使用できます。詳細については、 ElasticNetCVのdocstringを参照してください。ElasticNetalphaGridSearchCVrho

LassoとElasticNetの場合、ElasticNetはより多くの変数を選択する傾向があるため、モデルが大きくなります(トレーニングにも費用がかかります)が、一般的にはより正確になります。特に、Lassoは機能間の相関に非常に敏感であり、2つの非常に相関する有益な機能からランダムに1つを選択する可能性がありますが、ElasticNetは両方を選択する可能性が高く、より安定したモデルにつながるはずです(一般化能力の観点から、新しいサンプル)。

于 2012-09-06T07:13:37.857 に答える
4

このブログ投稿を紹介します:http ://www.datarobot.com/blog/regularized-linear-regression-with-scikit-learn/ 。

于 2014-04-03T20:59:59.187 に答える
0

「ElasticNetとは何ですか?」という質問であなたを助けてみます。

Elastic-Netは、ラッソ回帰法とリッジ回帰法の両方のペナルティ(つまり、L1とL2)を線形に組み合わせる正規化された回帰法です。複数の相関する機能がある場合に役立ちます。LassとElastic-Netの違いは、Lassoがこれらの機能の1つをランダムに選択する可能性が高いのに対し、elastic-netは両方を同時に選択する可能性が高いという事実にあります。

以下にリストされている2つのリンクには、ElasticNetのすばらしい説明があります。

  1. ElasticNet-TutorialsPoint
  2. ラッソ、リッジ、エラスティックネットの正則化
于 2020-08-26T09:30:11.027 に答える