在本文中,我们将讨论预测函数的区别和它们的用途。
在机器学习中,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方法
Linear binary classification models can utilize the decision_function method.。它会针对每个输入数据点生成一个分数,这个分数可用于推测其对应的类别标签。可以根据应用或领域知识来设置将数据点分类为正或负的阈值。
print(svc_clf.decision_function(X_test[:1]))
[-1.70756057]
总结
- 当你想要得到输入数据的预测类标签时,对二元或多元分类问题使用predict。
- 当你想要获得每个可能的类别标签的概率估计值时,请使用predict_proba处理二元或多元分类问题。
- 当你需要处理非常小或非常大的概率值时,或者当你想要避免数字下溢或溢出问题时,请使用predict_log_proba。
- 当你想获得每个输入数据点的分数时,使用decision_function处理线性模型的二元分类问题。
注意:某些分类器的预测方法可能不完整或需要额外参数才能访问函数。例如:SVC需要将概率参数设置为True,才能使用概率预测。
以上是使用Scikit-Learn,快速掌握机器学习预测方法的详细内容。更多信息请关注PHP中文网其他相关文章!

斯坦福大学以人为本人工智能研究所发布的《2025年人工智能指数报告》对正在进行的人工智能革命进行了很好的概述。让我们用四个简单的概念来解读它:认知(了解正在发生的事情)、欣赏(看到好处)、接纳(面对挑战)和责任(弄清我们的责任)。 认知:人工智能无处不在,并且发展迅速 我们需要敏锐地意识到人工智能发展和传播的速度有多快。人工智能系统正在不断改进,在数学和复杂思维测试中取得了优异的成绩,而就在一年前,它们还在这些测试中惨败。想象一下,人工智能解决复杂的编码问题或研究生水平的科学问题——自2023年

Meta的Llama 3.2:多模式和移动AI的飞跃 Meta最近公布了Llama 3.2,这是AI的重大进步,具有强大的视觉功能和针对移动设备优化的轻量级文本模型。 以成功为基础

本周的AI景观:进步,道德考虑和监管辩论的旋风。 OpenAI,Google,Meta和Microsoft等主要参与者已经释放了一系列更新,从开创性的新车型到LE的关键转变

连接的舒适幻想:我们在与AI的关系中真的在蓬勃发展吗? 这个问题挑战了麻省理工学院媒体实验室“用AI(AHA)”研讨会的乐观语气。事件展示了加油

介绍 想象一下,您是科学家或工程师解决复杂问题 - 微分方程,优化挑战或傅立叶分析。 Python的易用性和图形功能很有吸引力,但是这些任务需要强大的工具

Meta's Llama 3.2:多式联运AI强力 Meta的最新多模式模型Llama 3.2代表了AI的重大进步,具有增强的语言理解力,提高的准确性和出色的文本生成能力。 它的能力t

数据质量保证:与Dagster自动检查和良好期望 保持高数据质量对于数据驱动的业务至关重要。 随着数据量和源的增加,手动质量控制变得效率低下,容易出现错误。

大型机:AI革命的无名英雄 虽然服务器在通用应用程序上表现出色并处理多个客户端,但大型机是专为关键任务任务而建立的。 这些功能强大的系统经常在Heavil中找到


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

Atom编辑器mac版下载
最流行的的开源编辑器