from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score, roc_auc_score
clf = LogisticRegression(
penalty='l2',
C=1.0,
max_iter=1000
)
clf.fit(X_train, y_train)
proba = clf.predict_proba(X_test):, 1
pred = clf.predict(X_test)
print("准确率:", accuracy_score(y_test, pred))
print("AUC:", roc_auc_score(y_test, proba))
优点:
· 简单、训练快、可解释性强
· 输出概率,便于做阈值调整
· 系数可以解释为特征对对数几率的影响
· 不容易过拟合,配合正则化效果更好
缺点:
· 决策边界本质上是线性的
· 对非线性关系需要特征工程或核方法
· 对异常值和多重共线性较敏感
· 样本不平衡时需调整权重或阈值
选择需谨慎
文章仅供参考。