Python sklearn中的.fit与.predict的用法说明
我就废话不多说了,大家还是直接看代码吧~
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()的行返回结果。
以上这篇Python sklearn中的.fit与.predict的用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考。
- hdu----(1671)Phone List(Trie带标签)
- PHP-数组
- hdu---1506(Largest Rectangle in a Histogram/dp最大子矩阵)
- 日志分析实战之清洗日志小实例6:获取uri点击量排序并得到最高的url
- golang使用sort接口实现排序示例
- hdu----(5056)Boring count(贪心)
- hdu----(5055)Bob and math problem(贪心)
- hadoop3.0 Yarn支持网络资源:network原理设计文档说明【中文】
- PHP-超级全局变量
- 日志分析实战之清洗日志小实例5:实现获取不能访问url
- CentOS安装Redis、PHPredis扩展
- 日志分析实战之清洗日志小实例4:统计网站相关信息
- PHP-数组排序
- hdu---(3555)Bomb(数位dp(入门))
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 专项行动的意外收获—— 2020 年 9 月墨子(Mozi)僵尸网络分析报告
- React 17.0.0-rc.2带来全新的JSX转换
- 下载b站外挂字幕,用 potplayer 播放视频也能看字幕了
- MySQL一个字符集转换的骚操作,酿下性能的苦果
- CentOS7下部署Cobbler实现PXE+Kickstart自动化安装【脚本版】
- 腾讯云主机上部署FRP+Teamviewer穿透内网进行远程运维
- 从今天起构建你的JavaScript世界
- SpringCloud开发框架入门知识
- 一张900w的数据表,怎么把原先要花费17s执行的SQL优化到300ms?
- Codeforces Round #624 (Div. 3) A - Add Odd or Subtract Even
- XMLHttpRequest
- Codeforces Round #624 (Div. 3) B - WeirdSort
- 详解 Ajax
- 这个腾讯博客是被腾讯爬虫爬过来的,样式丑,请看我博客园地址,见下文
- Codeforces Round #624 (Div. 3) C - Perform the Combo