2015-12-26 16 views
10

機械学習のコースラコースhttps://share.coursera.org/wiki/index.php/ML:Linear_Regression_with_Multiple_Variables#Gradient_Descent_for_Multiple_Variablesでは、勾配降下が収束すべきだと言います。Scikitの線形回帰と勾配学習/パンダ?

私は、scikit learnの線形回帰を使用しています。グラデーションディセント情報は提供されません。私は、勾配降下を伴う線形回帰を実装するためにstackoverflowに関する多くの質問を見てきました。

実際の世界では、scikit-learnやpandasから線形回帰を使用するにはどうすればよいですか? OR scikit-learnまたはpandasが線形回帰出力で勾配降下情報を提供しないのはなぜですか? LRは閉形式解を持つ2つの分類の一つであるとして、

1)LinearRegressionオブジェクトは、ソルバscipyのダウンロードから最小二乗を使用しています:Scikitが学ぶ

+1

LogisticRegressionには、 'solver'という引数があります。ここでは、使用するオプティマイザを選択できます。 'verbose = 1'を設定すると、オプティマイザのデバッグ情報が表示されます。 http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression –

答えて

24

はあなたに線形回帰には2つのアプローチを提供します。 MLコースにもかかわらず、実際にこのモデルを学ぶには、いくつかの行列を反転して乗算するだけです。

2)SGDClassifier確率勾配降下の実装であり、非常に一般的なペナルティ条件を選択できます。それは実際にをほとんど使用しないされているのでnone(線形回帰)またはL2にもL2とペナルティ(リッジ回帰)

であることをあなたが損失を選択し、線形回帰を取得するにしても、「典型的な勾配降下」はありません。あなたの損失関数を加法的な項に分解することができれば、確率論的アプローチはよりよく動作することが知られており(SGD)、十分なメモリを確保できれば、OLSの方がより速く簡単になります。

+0

ありがとうございました。 – Netro

関連する問題