Scikit-learnパッケージは関数Lasso()
とLassoCV()
を提供しますが、線形関数の代わりにロジスティック関数を適合させるオプションはありません... Pythonでロジスティック投げ縄を実行する方法は?
ラッソは、L1ペナルティで最小二乗問題を最適化します。定義上、Lassoでロジスティック関数を最適化することはできません。
L1ペナルティを使用してロジスティック関数を最適化する場合は、L1ペナルティを使用してLogisticRegression
推定量を使用できます。
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
X, y = load_iris(return_X_y=True)
log = LogisticRegression(penalty='l1', solver='liblinear')
log.fit(X, y)
L1ペナルティを処理するのはLIBLINEARおよびSAGA(v0.19で追加)ソルバーのみであることに注意してください。
Pythonでglmentを使用できます。 Glmnetはウォームスタートとアクティブセットコンバージェンスを使用するため、非常に効率的です。これらの手法により、他の投げ縄実装よりもglmentが高速になります。あなたはそれをダウンロードすることができます https://web.stanford.edu/~hastie/glmnet_python/