作者:除了祝福我能怎么办_218 | 来源:互联网 | 2023-09-17 14:04
机器学习之分类模型评价指标:查准率、查全率、ROC曲线混淆矩阵真实情况预测结果正例反例正例TP(真正例)FN(假反例)反例FP(假正例)TN(真反例)查准率,查全率ROC曲线即根据
机器学习之分类模型评价指标:查准率、查全率、ROC曲线
混淆矩阵
真实情况 | 预测结果 |
正例 | 反例 |
正例 | TP(真正例) | FN(假反例) |
反例 | FP(假正例) | TN(真反例) |
查准率
,
查全率
ROC曲线
即根据模型的预测结果按属于正例的概率值从高到低排序,得到“真正例率”(True Positive Rate,简称tpr),“假正例率”(False Positive Rate,简称fpr)两个指标,分别作为ROC曲线的纵坐标与横坐标。
真正例率:即标准正例(标准的正例就等于真正例加假反例=TP + FN)中,被预测为正例的概率
假正例率:即标准负例(标准的负例就等于假正例加真负例=FP + TN)中,被预测为正例的概率
绘制ROC曲线
sklearn.metrics.
roc_curve
(y_true, y_score, pos_label=None,)
params:
y_true : 数组,shape = [样本数]
在范围{0,1}或{-1,1}中真正的二进制标签。如果标签不是二进制的,则应该显式地给出pos_label
y_score : 数组, shape = [样本数]
目标得分,可以是正样本类的概率估计,或者是决定的非阈值度量(在某些分类器上由“decision_function”返回)。
pos_label:int or str, 标签被认为是正样本类,其他的被认为负样本类。
return:
fpr : array, shape = [>2] 增加假阳性率,例如,i是预测的假阳性率,得分>=临界值[i]
tpr : array, shape = [>2] 增加真阳性率,例如,i是预测的真阳性率,得分>=临界值[i]。
thresholds : array, shape = [n_thresholds] 减少了用于计算fpr和tpr的决策函数的阈值。
y_train_pred=rfc.predict(x_train)
y_train_predproba=rfc.predict_proba(x_train)y_test_pred=rfc.predict(x_test)
y_test_predproba=rfc.predict_proba(x_test)fpr, tpr, thresholds = metrics.roc_curve(y_test, y_test_predproba[:,1], pos_label=1)