机器学习(Pytorch环境)01——breast_cancer数据集例程

导入数据+数据预处理

#导入库
from matplotlib import pyplot as plt
from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
​
#导入初始数据
X, y = load_breast_cancer(return_X_y=True)
​
#数据处理
clf = LogisticRegression(solver="liblinear", random_state=0).fit(X, y)#逻辑回归
pred = clf.predict_proba(X)[:, 1]# 返回预测属于某标签的概率,取二维数组中第二维的所有数据

Tips:

solver='liblinear',对于小数据集,'liblinear'是很好的选择。对于大规模数据集,'sag'和'saga'处理起来速度更快。


结果输出

from sklearn.metrics import precision_score
print('precision: ', precision_score(y, pred.round()))#round()是python自带的一个函数,用于数字的四舍五入

可以得到:

from sklearn.metrics import accuracy_score, recall_score, f1_score
print('acc:\t', accuracy_score(y, pred.round()))#分类准确率分数,分类准确率分数是指所有分类正确的百分比。
print('recall:\t', recall_score(y, pred.round()))#召回率 = 提取出的正确信息条数 / 样本中的信息条数。通俗地说,就是所有准确的条目有多少被检索出来了。
print('f1:\t', f1_score(y, pred.round()))#是精确率和召回率的调和平均数

可以得到:

#P-R曲线
from sklearn.metrics import precision_recall_curve, PrecisionRecallDisplay
prec, recall, _ = precision_recall_curve(y, pred, pos_label=1)
PrecisionRecallDisplay(precision=prec, recall=recall).plot()
plt.show()

Tips:

1.P(precision):查准率,预测出来的正例中正确的比例
2.R(recall):查全率,衡量正例被预测出来的比例
3.P-R曲线:P-R曲线是精确率precision与召回率recall 曲线,以recall作为横坐标轴,precision作为纵坐标轴从而绘制出来的图象

from sklearn.metrics import roc_auc_score, roc_curve, RocCurveDisplay
# ROC曲线
fpr, tpr, _ = roc_curve(y, pred, pos_label=1)
roc_display = RocCurveDisplay(fpr=fpr, tpr=tpr).plot()
plt.show()
# AUC
auc = roc_auc_score(y, pred)
print('AUC:', auc)

Tips:

以假阳性率FPR为横坐标、真阳性率TPR为纵坐标,将每一个阈值所对应的(FPR,TPR)放入坐标系中。用红色线条将所有的点连接起来——此即为ROC曲线。

一般来讲,如果一个点越接近左上角,那么说明模型的预测效果越好。

ROC曲线下方的面积,计算出来的面积就是AUC的值,AUC值越接近1越好。


作者的话:

本次以pytorch环境搭建的机器学习内容,更倾向于通过例程来学习pytorch的使用方法,理论层面介绍较少,以实用为主。

本人使用的编译软件是Vscode,配合了jupyter notebook,并安装搭建了pytorch环境,使用python语言。以上提供给大家参考。

有建议欢迎指出,也欢迎友好交流!另也欢迎关注其他平台上本人的账号 如下:

微信公众号:知识薪火站

小红书:知识薪火站

知乎:youzuos

感谢支持!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值