逻辑回归模型训练与评估:准确率、混淆矩阵和ROC曲线
逻辑回归模型训练与评估:准确率、混淆矩阵和ROC曲线
在完成逻辑回归模型训练后,我们需要评估其性能。常用的评估指标包括:
- 准确率(Accuracy): 正确预测的样本占总样本的比例。
- 召回率(Recall): 正确预测的正样本占所有正样本的比例。
- F1值(F1-score): 准确率和召回率的调和平均数。
- 混淆矩阵(Confusion Matrix): 展示模型预测结果与真实标签的对应关系。
- ROC曲线(Receiver Operating Characteristic Curve): 展示不同阈值下模型的真正率(True Positive Rate)和假正率(False Positive Rate)。
以下代码展示如何计算这些指标并绘制ROC曲线:
from sklearn.metrics import classification_report, confusion_matrix, roc_curve
import matplotlib.pyplot as plt
# 假设您已经训练了逻辑回归模型并获得了预测结果:
# lr = LogisticRegression()
# lr.fit(features, target)
# predictions = lr.predict(features)
# 计算模型的准确率、召回率和F1值
print(classification_report(target, predictions))
# 计算模型的混淆矩阵
print(confusion_matrix(target, predictions))
# 计算真正率和假正率
fpr, tpr, thresholds = roc_curve(target, predictions)
# 绘制ROC曲线
plt.plot(fpr, tpr)
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic (ROC) Curve')
plt.show()
解释:
classification_report函数用于计算准确率、召回率和F1值。confusion_matrix函数用于计算混淆矩阵。roc_curve函数用于计算不同阈值下的真正率和假正率。plt.plot函数用于绘制ROC曲线。
注意:
target表示真实标签。predictions表示模型预测的标签。
通过以上代码,您可以评估逻辑回归模型的性能,并根据评估结果调整模型参数或选择更合适的模型。
原文地址: https://www.cveoy.top/t/topic/qvfg 著作权归作者所有。请勿转载和采集!