Python分类模型评估

您所在的位置:网站首页 python数组分类器 Python分类模型评估

Python分类模型评估

#Python分类模型评估| 来源: 网络整理| 查看: 265

                                Python分类模型评估1 声明

本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理。

2 分类模型评估简介

对给给定的分类模型进行质量评估,常见概念见下:

Python分类模型评估_python分类评估方法

其中TP是true positive(真正的)、TN是true negative (真负的)、FP是false positive,(假负的)、positive(正的)、negative(负的)个数。

混淆矩阵见下:

Python分类模型评估_python分类评估方法_02

这里的positive指的是买了电脑的那一类(数据集参考《数据挖掘概念与技术》一书里的购买电脑的数据集),则TP是实际是买了电脑的预测是买了的数量,对应TP,而FP则是实际没买电脑,但预测买了的数量。FN则实际买了电脑但是预测值确实没买的个数,TN则是实际没买,预测的也是没买的个数。

Receiver operating characteristic curves 简称ROC曲线是比较模型的性能评价方法。它主要是反应true positive rate (TPR)真正率与false positive rate(FPR)假负率的权衡。

Python分类模型评估_数据集_03

ROC曲线越接近左上角,说明该分类器的性能越好,这表明这个分类器在假负率很低的同时真正率也很高。

Area Under Curve简称为AUC 被定义为ROC曲线下的面积。ROC曲线一般都处于y=x这条直线的上方,所以它的取值范围为[0.5,1],有了AUC这个数值指标,判别分类器的效果就很直观,它越大越好。

注:准确率accuracy不适用于分类不平衡问题。

3 分类模型评估代码示例# Step1 加载相关包import matplotlib.pyplot as pltfrom sklearn.datasets import make_classificationfrom sklearn.linear_model import LogisticRegressionfrom sklearn.metrics import roc_curve, roc_auc_scorefrom sklearn.model_selection import train_test_split# Step2 加创建特征矩阵和目标向量(y)features, target = make_classification(n_samples=10000,n_features=10,n_classes=2,n_informative=3,random_state=3)

# Step3 加利用train_test_split拆分测试集、训练集(测试占比10%)features_train, features_test, target_train, target_test = train_test_split(features, target, test_size=0.1, random_state=1)# Step4 创建Logistic分类器logit = LogisticRegression()# Step5 训练模型logit.fit(features_train, target_train)# Step6 获得预测的概率值target_probabilities = logit.predict_proba(features_test)[:,1]# Step7 通过roc_curve获得FPR和TPRfalse_positive_rate, true_positive_rate, threshold = roc_curve(target_test,target_probabilities)# Step8 画ROC曲线plt.title("Receiver Operating Characteristic")plt.plot(false_positive_rate, true_positive_rate)plt.plot([0, 1], ls="--")plt.plot([0, 0], [1, 0] , c=".7"), plt.plot([1, 1] , c=".7")plt.ylabel("True Positive Rate")plt.xlabel("False Positive Rate")plt.show()# Step9 计算AUC的值roc_auc_score(target_test, target_probabilities)

4 总结



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3