使用scikit-learn构建模型——构建并评价分类模型

构建并评价分类模型

  1. 使用sklearn 估计器构建支持向量机(SVM)模型
    其实现的过程:
    训练集(训练样本)通过 分类算法 建立分类模型 得到训练规则,然后根据分类模型测试,再将给出测试集和待测集 进行测试。
#使用sklearn 估计器构建SVM模型
import numpy as np
from sklearn.datasets import load_breast_cancer
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
cancer=load_breast_cancer()
cancer_data=cancer['data']
cancer_target=cancer['target']
cancer_names=cancer['feature_names']
#将数据集划分为训练集、测试集
cancer_data_train,cancer_data_test,cancer_target_train,cancer_target_test=\
train_test_split(cancer_data,cancer_target,test_size=0.2,random_state=22)
#数据标准化
stdScaler=StandardScaler().fit(cancer_data_train)
cancer_trainStd=stdScaler.transform(cancer_data_train)
cancer_testStd=stdScaler.transform(cancer_data_test)
#建立SVM模型
svm=SVC().fit(cancer_trainStd,cancer_target_train)
print('建立的SVM模型为:\n',svm)

#预测训练集结果
cancer_target_pred=svm.predict(cancer_testStd)
print('预测前20个结果为:\n',cancer_target_pred[:20])

#将预测值和真实结果做比对,求出预测对的结果和预测错的结果,并求出准确率
#分类结果的混淆矩阵与准确率
import numpy as np
true=np.sum(cancer_target_pred==cancer_target_test)
print('预测对的结果数目为:',true)
print('预测错的结果数目为:',cancer_target_test.shape[0]-true)
print('预测结果准确率为:',true/cancer_target_test.shape[0])
  1. 评价分类模型
    为了有效判断一个预测模型的性能表现,需要通过一些指标来衡量。
#分类模型常用评价方法
from sklearn.metrics import accuracy_score,precision_score,recall_score,f1_score,cohen_kappa_score
print('使用SVM预测breast_cancer数据的准确率为:',accuracy_score(cancer_target_test,cancer_target_pred))
print('使用SVM预测breast_cancer数据的精准率为:',precision_score(cancer_target_test,cancer_target_pred))
print('使用SVM预测breast_cancer数据的召回率为:',recall_score(cancer_target_test,cancer_target_pred))
print('使用SVM预测breast_cancer数据的F1值为:',f1_score(cancer_target_test,cancer_target_pred))
print('使用SVM预测breast_cancer数据的Cohen`s Kappa系数为:',cohen_kappa_score(cancer_target_test,cancer_target_pred))
#分类模型评价报告
from sklearn.metrics import classification_report
print('使用SVM预测breast_cancer数据的分类报告为:\n',classification_report(cancer_target_test,cancer_target_pred))

通过绘制ROC 曲线的方式来评价分类模型

#绘制ROC 曲线
from sklearn.metrics import roc_curve
import matplotlib.pyplot as plt
##求出ROC曲线的x轴和y轴
fpr,tpr,thresholds=roc_curve(cancer_target_test,cancer_target_pred)
plt.figure(figsize=(10,6))
plt.xlim(0,1)#设定x的范围
plt.ylim(0.0,1.1) #设定y轴的范围
plt.xlabel('False Pdstive Rate')
plt.ylabel('True Pdstive Rate')
plt.plot(fpr,tpr,linewidth=2,linestyle='-',color='red')
plt.show()

绘制ROC图

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Big-Winda

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值