当前位置: 代码迷 >> 综合 >> 机器学习之分类模型性能评价指标
  详细解决方案

机器学习之分类模型性能评价指标

热度:27   发布时间:2024-02-05 03:08:33.0

机器学习之分类模型评价指标:查准率、查全率、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)

 

  相关解决方案