我相信特征的缩放不应该影响逻辑回归的结果。但是,在下面的示例中,当我通过取消注释注释行来缩放第二个特征时,AUC 会发生很大变化(从 0.970 到 0.520):
from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn import metrics
cancer = load_breast_cancer()
X = cancer.data[:,0:2] # Only use two of the features
#X[:,1] = X[:,1]*10000 # Scaling
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 中进行逻辑回归时有没有办法关闭正则化