登录
首页 >  科技周边 >  人工智能

使用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学习网公众号了解相关技术文章。

声明:本文转载于:51CTO.COM 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>