使用Scikit-Learn,快速掌握机器学习预测方法

掌握Scikit-Learn中的机器学习预测法,了解predictpredict_probapredict_log_probadecision_function方法。

微信搜索关注《Python学研大本营》,加入读者群,分享更多精彩

图片

在本文中,我们将讨论预测函数的区别和它们的用途。

在机器学习中,predictpredict_probapredict_log_probadecision_function方法都是用来根据训练好的模型进行预测的。

predict方法

predict方法用于进行二元分类或多元分类预测,并返回输入数据的预测类标签。例如,如果你已经训练了一个逻辑回归模型来预测一个客户是否会购买产品,则可以使用predict方法来预测一个新客户是否会购买产品。

我们将使用来自scikit-learn的乳腺癌数据集。这个数据集包含了肿瘤观察结果和肿瘤是恶性还是良性的相应标签。

import numpy as np
from sklearn.svm import SVC
from sklearn.preprocessing import StandardScaler
from sklearn.pipeline import make_pipeline
import matplotlib.pyplot as plt
from 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_split
X_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方法

decision_function方法用于线性模型的二元分类问题。它为每个输入的数据点返回一个分数,该分数可用于确定类别标签的预测。可以根据应用或领域知识来设置将数据点分类为正或负的阈值。

print(svc_clf.decision_function(X_test[:1]))
[-1.70756057]

总结

  • 当你想要得到输入数据的预测类标签时,对二元或多元分类问题使用predict

  • 当你想要获得每个可能的类别标签的概率估计值时,请使用predict_proba处理二元或多元分类问题。

  • 当你需要处理非常小或非常大的概率值时,或者当你想要避免数字下溢或溢出问题时,请使用predict_log_proba

  • 当你想获得每个输入数据点的分数时,使用decision_function处理线性模型的二元分类问题。

注意:有些分类器没有所有的预测方法或需要额外的参数来访问函数。例如:SVC需要将概率参数设置为True,才能使用概率预测。

推荐书单

《TensorFlow机器学习项目开发实战》

《TensorFlow机器学习项目开发实战》详细阐述了与TensorFlow项目开发相关的基本解决方案,主要包括TensorFlow和机器学习概述、利用机器学习探测外太空中的系外行星、情感分析、数字分类、语音到文本的转换、预测股票价格、信用卡欺诈检测、贝叶斯深度学习、图像匹配和分类、推荐系统、大规模对象检测、生成图书脚本、深度强化学习与游戏、部署机器学习模型等内容。

此外,《TensorFlow机器学习项目开发实战》还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。

《TensorFlow机器学习项目开发实战》既可作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。

《TensorFlow机器学习项目开发实战》([印]安奇特·简恩 著 熊爱华 译)【简介_书评_在线阅读】 - 当当图书当当网图书频道在线销售正版《TensorFlow机器学习项目开发实战》,作者:[印]安奇特·简恩 著 熊爱华 译,出版社:清华大学出版社。最新《TensorFlow机器学习项目开发实战》简介、书评、试读、价格、图片等相关信息,尽在DangDang.com,网购《TensorFlow机器学习项目开发实战》,就上当当网。icon-default.png?t=N6B9http://product.dangdang.com/27949727.html

图片

精彩回顾

《4步掌握“指令工程”,使用ChatGPT进行高效AI创作》

《手把手教你使用PyTorch搭建神经网络》

《GPT4ALL:终极开源大语言模型解决方案》

《使用TensorFlow和Keras创建猫狗图片深度学习分类器》

《使用Python和OpenPlayground轻松探索大语言模型》

《使用TensorFlow和Keras,轻松搭建并训练你的第一个神经网络》

微信搜索关注《Python学研大本营》,加入读者群

图片

访问【IT今日热榜】,发现每日技术热点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值