私は、特徴のスケーリングがロジスティック回帰の結果に影響を与えるべきではないと信じていました。ただし、以下の例では、コメント行のコメントを外して2番目の機能をスケーリングすると、AUCが大幅に変化します(0.970から0.520)。
from sklearn.datasets import load_breast_cancer
sklearn.linear_modelからimportLogisticRegression
sklearn.model_selectionからimporttrain_test_split
sklearnインポートメトリックから
がん= load_breast_cancer()
X = cancer.data [:、0:2]#2つの機能のみを使用する
#X [:、1] = X [:、1] * 10000#スケーリング
y = cancer.target
X_train、X_test、y_train、y_test = train_test_split(X、y、test_size = 0.33、random_state = 42)
log_reg = LogisticRegression()
log_reg.fit(X_train、y_train)
fpr、tpr、_ = metrics.roc_curve(y_test、log_reg.predict_proba(X_test)[:, 1])
auc = metrics.auc(fpr、tpr)
auc
これは正則化と関係があると思います(これは私が詳細に研究していないトピックです)。もしそうなら、正則化でロジスティック回帰を行うときに機能を正規化するためのベストプラクティスはありますか?また、scikit-learnでロジスティック回帰を行うときに正則化をオフにする方法はありますか?