私はkaggleでコードを少ししか読んでおらず、あいまいな実装になっています。今日まで私はモデルの外部に変数を宣言できることは知らなかった。 不明な変数宣言
from sklearn.linear_model import LogisticRegression
...
model = LogisticRegression()
....
model.loss = 0.01
model.penalty = 'l1'
model.l1_ratio = True
model.alpha = 'auto'
model.fit(x_train, y_train)
は私がsklearnでロジスティック回帰は、ペナルティを除いて、これらのパラメータのいずれかを持っていないことを知って、私は実際にこれらのパラメータのすべてを受け入れますが、「損失」のsklearn自体が別の線形アルゴリズムSGDClassifierを、見つけました、 'l1_ratio'、 'alpha'のデータ型が異なっていました。私は各パラメータの説明と、他のアルゴリズムで使用されている理由を知っていますが、この宣言の背後にある理由を理解することはできません。この実装に関する説明は非常に高く評価されます。ありがとうございました。
この動作を使用して記事をリンクすると、その理由がわかりやすくなります。上記のコードからは、アルゴリズムの変更が容易であることを除いて、使用しない(sklearnのどこでも使用されないので)。ここでは 'model = LogisticRegression()'をmodel = GradientBoostingClassifier()に変更するだけで、再び宣言する心配がありません。モデルに関連するパラメーターのみが変更され、残りは影響がなくそのまま残ります。 –