使用Scikit-Learn,快速掌握机器学习预测方法
来源:51CTO.COM
时间:2023-05-29 16:53:20 274浏览 收藏
珍惜时间,勤奋学习!今天给大家带来《使用Scikit-Learn,快速掌握机器学习预测方法》,正文内容主要涉及到等等,如果你正在学习科技周边,或者是对科技周边有疑问,欢迎大家关注我!后面我会持续更新相关内容的,希望都能帮到正在学习的大家!
在本文中,我们将讨论预测函数的区别和它们的用途。
在机器学习中,predict和predict_proba、predict_log_proba和decision_function方法都是用来根据训练好的模型进行预测的。
predict方法
使用predict方法可以进行二元分类或多元分类预测,并且得到输入数据的预测类别标签。例如,如果你已经训练了一个逻辑回归模型来预测一个客户是否会购买产品,则可以使用predict方法来预测一个新客户是否会购买产品。
我们将使用来自scikit-learn的乳腺癌数据集。这个数据集包含了肿瘤观察结果和肿瘤是恶性还是良性的相应标签。
import numpy as npfrom sklearn.svm import SVCfrom sklearn.preprocessing import StandardScalerfrom sklearn.pipeline import make_pipelineimport matplotlib.pyplot as pltfrom sklearn.datasets import load_breast_cancer# 加载数据集dataset = load_breast_cancer(as_frame=True)# 创建特征和目标X = dataset['data']y = dataset['target']# 将数据集分割成训练集和测试集from sklearn.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y , test_size=0.25, random_state=0)# 我们创建一个简单的管道来规范数据并使用`SVC`分类器训练模型svc_clf = make_pipeline(StandardScaler(),SVC(max_iter=1000, probability=True))svc_clf.fit(X_train, y_train)
# 我们正在预测X_test的第一个条目print(svc_clf.predict(X_test[:1]))
# 预测X_test的第一个条目属于哪一类[0]
predict_proba方法
使用predict_proba函数可对每个分类标签进行概率预测,该函数会返回每种可能分类标签的概率估计。这种方法常用于解决二元或多元分类问题,其中你需要了解每种可能结果的概率。例如,如果你已经训练了一个模型,将动物的图像分为猫、狗和马,你可以使用predict_proba方法来获得每个类别标签的概率估计。
print(svc_clf.predict_proba(X_test[:1]))
[[0.99848307 0.00151693]]
predict_log_proba方法
predict_log_proba方法与predict_proba类似,但它返回概率估计值的对数,而不是原始概率。在涉及到极小或极大的概率值时,这种方法就显得尤其有用,因为它能够有效地避免数值过低或过高的问题。
print(svc_clf.predict_log_proba(X_test[:1]))
[[-1.51808474e-03 -6.49106473e+00]]
decision_function方法
For binary classification problems with linear models, the decision_function method is used.。对于每个输入的数据点,它都会生成一个分数,用于预测该数据点所属的类别标签。可以根据应用或领域知识来设置将数据点分类为正或负的阈值。
print(svc_clf.decision_function(X_test[:1]))
[-1.70756057]
总结
- 当你想要得到输入数据的预测类标签时,对二元或多元分类问题使用predict。
- 当你想要获得每个可能的类别标签的概率估计值时,请使用predict_proba处理二元或多元分类问题。
- 当你需要处理非常小或非常大的概率值时,或者当你想要避免数字下溢或溢出问题时,请使用predict_log_proba。
- 当你想获得每个输入数据点的分数时,使用decision_function处理线性模型的二元分类问题。
请注意,某些分类器不具备全部的预测方法或需要额外的参数才能调用函数。例如:SVC需要将概率参数设置为True,才能使用概率预测。
文中关于数据,方法的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《使用Scikit-Learn,快速掌握机器学习预测方法》文章吧,也可关注golang学习网公众号了解相关技术文章。
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
458 收藏
-
316 收藏
-
310 收藏
-
212 收藏
-
132 收藏
-
300 收藏
-
167 收藏
-
275 收藏
-
137 收藏
-
234 收藏
-
324 收藏
-
420 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 542次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 508次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 497次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 484次学习