Python sklearn中的.fit与.predict的用法说明
作者:冽夫 发布时间:2023-01-03 23:54:25
我就废话不多说了,大家还是直接看代码吧~
clf=KMeans(n_clusters=5) #创建分类器对象
fit_clf=clf.fit(X) #用训练器数据拟合分类器模型
clf.predict(X) #也可以给新数据数据对其预测
print(clf.cluster_centers_) #输出5个类的聚类中心
y_pred = clf.fit_predict(X) #用训练器数据X拟合分类器模型并对训练器数据X进行预测
print(y_pred) #输出预测结果
补充知识:sklearn中调用某个机器学习模型model.predict(x)和model.predict_proba(x)的区别
model.predict_proba(x)不同于model.predict(),它返回的预测值为获得所有结果的概率。(有多少个分类结果,每行就有多少个概率,对每个结果都有一个概率值,如0、1两分类就有两个概率)
我们直接上代码,通过具体例子来进一步讲解:
python3 代码实现:
# -*- coding: utf-8 -*-
"""
Created on Sat Jul 27 21:25:39 2019
@author: ZQQ
"""
from sklearn.linear_model import LogisticRegression
from sklearn.ensemble import RandomForestClassifier
from xgboost import XGBClassifier
import numpy as np
import warnings
warnings.filterwarnings("ignore")
# 这个方法只是解决了表面,没有根治
# 数据(特征,属性)
x_train = np.array([[1,2,3],
[1,5,4],
[2,2,2],
[4,5,6],
[3,5,4],
[1,7,2]])
# 数据的标签
y_train = np.array([1, 0, 1, 1, 0, 0])
# 测试数据
x_test = np.array([[2,1,2],
[3,2,6],
[2,6,4]])
# 导入模型
model = LogisticRegression()
#model = RandomForestClassifier()
#model=XGBClassifier()
model.fit(x_train, y_train)
# 返回预测标签
print(model.predict(x_test))
print('---------------------------------------')
# 返回预测属于某标签的概率
print(model.predict_proba(x_test))
运行结果:
分析结果:
使用model.predict() :
预测[2,1,2]为1类
预测[3,2,6]为1类
预测[2,6,4]为0类
使用model.predict_proba() :
预测[2,1,2]的标签是0的概率为0.19442289,1的概率为0.80557711
预测[3,2,6]的标签是0的概率为0.04163615,1的概率为0.95836385
预测[2,6,4]的标签是0的概率为0.83059324,1的概率为0.16940676
预测为0类的概率值和预测为1的概率值和为1
同理,如果标签继续增加,3类:0,1, 2
预测为0类的概率值:a
预测为1类的概率值:b
预测为2类的概率值:c
预测出来的概率值的和a+b+c=1
注:model.predict_proba()返回所有标签值可能性概率值,这些值是如何排序的呢?
返回模型中每个类的样本概率,其中类按类self.classes_进行排序。
通过numpy.unique(label)方法,对label中的所有标签值进行从小到大的去重排序。
得到一个从小到大唯一值的排序。这也就对应于model.predict_proba()的行返回结果。
来源:https://blog.csdn.net/helloworld0906/article/details/103214002
猜你喜欢
- 之前看到很多人一直都问CSS 中DIV垂直居中的问题,看来对此的需求还不少。现在就把我经验拿出来分享一下,希望大家鼓鼓掌。因为在 CSS 中
- python去除空格,tab制表符和\n换行符python中常用的替换字符串的函数有replace(),其用法相信大家都比较熟悉举个例子st
- 数据库操作类的优点优点可以说是非常多了,常见的优点就是便于维护、复用、高效、安全、易扩展。例如PDO支持的数据库类型是非常多的,与mysql
- 本文实例讲述了php设计模式之装饰模式。分享给大家供大家参考,具体如下:介绍装饰者模式(Decorator Pattern)允许你向一个现有
- 简介特点请求你所要的数据,不多不少获取多个资源,只用一个请求描述所有的可能,类型系统几乎所有语言支持文档Graphene-PythonGra
- 喜欢Gucci的优雅吗?或者痴迷美国普普艺术?谷歌中国最近改版的谷歌个性化首页iGoogle集中了近1500个主题,包括近120多位全球顶级
- 本书的作者Douglas Crockford是JavaScript开发社区最知名的权威,JavaScript的发明人Brendan Eich
- 最近,Facebook设计团队在其位于加州帕罗奥多市(Palo Alto)的总部,提到了他们为2.5亿用户设计的原理和方法。 他们特别强调了
- 环境ubuntu 12.04 LTSpython 2.7.3opencv 2.3.1-7安装依赖sudo apt-get install l
- Filed under 数据库技术Leave a commentSQL Server命令行导数据两种方式bcp和sqlcmd先说一下bcp:
- AICodeHelper是一款AI编程助手,旨在帮助程序员提高他们的编码技能。简单的像尝试的代码直接问就行,但是一些复杂的,就得需要写技巧;
- --利用T-SQL语句,实现数据库的备份与还原的功能 ----体现了SQL Server中的四个知识点: ----1. 获取SQL Serv
- 1.如何通过地址栏参数来得到模块名称和控制器名称(即使在有路由和开了重写模块的情况下)2.tp是如何实现前置,后置方 * 能模块,和如何执行带
- 使用本文提供的JavaScript脚本,配合Dreamweaver的层和行为的运用,可以在页面中显示可拖动的精美月历。具体制作步骤如下:1、
- 先把我的browser信息说明一下:这是在opera里about中显示的“浏览器识别”Opera/9.62 (Windows NT 5.1;
- 近些年随着Python语言越来越流行,越来越多的人选择Python语言作为自己的职业方向。如何在心仪公司的面试中获得好成绩,并最终成功获得o
- 引言:一开始二维码加群,但是呢,这个东西隔一段时间会过期,我需要 每隔一段时间去更新二维码,然后当群人数超过100人了,只能邀请进群, 这个
- python主要是通过thread和threading这两个模块来实现多线程支持。python的thread模块是比較底层的模块,pytho
- 前言最近参加了datawhale的组队学习活动,在组队学习动员下,开始通过强迫自己输出来实现更好的输入与处理,6-15开始自己的第一次文章发
- 本文通过实例为大家分享了python实现批量提取指定文件夹下同类型文件,供大家参考,具体内容如下代码import osimport shut