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的用法说明就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2020-06-26

Python使用sklearn库实现的各种分类算法简单应用小结

本文实例讲述了Python使用sklearn库实现的各种分类算法简单应用.分享给大家供大家参考,具体如下: KNN from sklearn.neighbors import KNeighborsClassifier import numpy as np def KNN(X,y,XX):#X,y 分别为训练数据集的数据和标签,XX为测试数据 model = KNeighborsClassifier(n_neighbors=10)#默认为5 model.fit(X,y) predicted = m

深入浅析Python 中的sklearn模型选择

1.主要功能如下: 1.classification分类 2.Regression回归 3.Clustering聚类 4.Dimensionality reduction降维 5.Model selection模型选择 6.Preprocessing预处理 2.主要模块分类: 1.sklearn.base: Base classes and utility function基础实用函数 2.sklearn.cluster: Clustering聚类 3.sklearn.cluster.biclu

Python机器学习库scikit-learn安装与基本使用教程

本文实例讲述了Python机器学习库scikit-learn安装与基本使用.分享给大家供大家参考,具体如下: 引言 scikit-learn是Python的一个开源机器学习模块,它建立在NumPy,SciPy和matplotlib模块之上能够为用户提供各种机器学习算法接口,可以让用户简单.高效地进行数据挖掘和数据分析. scikit-learn安装 python 中安装许多模板库之前都有依赖关系,安装 scikit-learn 之前需要以下先决条件: Python(>= 2.6 or >= 3

Python使用sklearn实现的各种回归算法示例

本文实例讲述了Python使用sklearn实现的各种回归算法.分享给大家供大家参考,具体如下: 使用sklearn做各种回归 基本回归:线性.决策树.SVM.KNN 集成方法:随机森林.Adaboost.GradientBoosting.Bagging.ExtraTrees 1. 数据准备 为了实验用,我自己写了一个二元函数,y=0.5*np.sin(x1)+ 0.5*np.cos(x2)+0.1*x1+3.其中x1的取值范围是0~50,x2的取值范围是-10~10,x1和x2的训练集一共有5

Python语言描述机器学习之Logistic回归算法

本文介绍机器学习中的Logistic回归算法,我们使用这个算法来给数据进行分类.Logistic回归算法同样是需要通过样本空间学习的监督学习算法,并且适用于数值型和标称型数据,例如,我们需要根据输入数据的特征值(数值型)的大小来判断数据是某种分类或者不是某种分类. 一.样本数据 在我们的例子中,我们有这样一些样本数据: 样本数据有3个特征值:X0X0,X1X1,X2X2 我们通过这3个特征值中的X1X1和X2X2来判断数据是否符合要求,即符合要求的为1,不符合要求的为0. 样本数据分类存放在一个

Python实现的逻辑回归算法示例【附测试csv文件下载】

本文实例讲述了Python实现的逻辑回归算法.分享给大家供大家参考,具体如下: 使用python实现逻辑回归 Using Python to Implement Logistic Regression Algorithm 菜鸟写的逻辑回归,记录一下学习过程 代码: #encoding:utf-8 """ Author: njulpy Version: 1.0 Data: 2018/04/10 Project: Using Python to Implement Logisti

Python实现的计算马氏距离算法示例

本文实例讲述了Python实现的计算马氏距离算法.分享给大家供大家参考,具体如下: 我给写成函数调用了 python实现马氏距离源代码: # encoding: utf-8 from __future__ import division import sys reload(sys) sys.setdefaultencoding('utf-8') import numpy as np def mashi_distance(x,y): print x print y #马氏距离要求样本数要大于维数,

Python实现的序列化和反序列化二叉树算法示例

本文实例讲述了Python实现的序列化和反序列化二叉树算法.分享给大家供大家参考,具体如下: 题目描述 请实现两个函数,分别用来序列化和反序列化二叉树 序列化二叉树 先序遍历二叉树 def recursionSerialize(self, root): series = '' if root == None: series += ',$' else: series += (',' + str(root.val)) series += self.recursionSerialize(root.le

Python实现的多叉树寻找最短路径算法示例

本文实例讲述了Python实现的多叉树寻找最短路径算法.分享给大家供大家参考,具体如下: 多叉树的最短路径: 思想: 传入start 和 end 两个 目标值     1 找到从根节点到目标节点的路径     2 从所在路径,寻找最近的公共祖先节点,     3 对最近公共祖先根节点 拼接路径 Python代码: # -*- coding:utf-8 -*- import copy #节点数据结构 class Node(object): # 初始化一个节点 def __init__(self,v

Python二叉搜索树与双向链表转换算法示例

本文实例讲述了Python二叉搜索树与双向链表转换算法.分享给大家供大家参考,具体如下: 题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 普通的二叉树也可以转换成双向链表,只不过不是排序的 思路: 1. 与中序遍历相同 2. 采用递归,先链接左指针,再链接右指针 代码1,更改doubleLinkedList,最后返回list的第一个元素: class TreeNode: def __init__(self, x): s

用tensorflow实现弹性网络回归算法

本文实例为大家分享了tensorflow实现弹性网络回归算法,供大家参考,具体内容如下 python代码: #用tensorflow实现弹性网络算法(多变量) #使用鸢尾花数据集,后三个特征作为特征,用来预测第一个特征. #1 导入必要的编程库,创建计算图,加载数据集 import matplotlib.pyplot as plt import tensorflow as tf import numpy as np from sklearn import datasets from tensor

Python基于sklearn库的分类算法简单应用示例

本文实例讲述了Python基于sklearn库的分类算法简单应用.分享给大家供大家参考,具体如下: scikit-learn已经包含在Anaconda中.也可以在官方下载源码包进行安装.本文代码里封装了如下机器学习算法,我们修改数据加载函数,即可一键测试: # coding=gbk ''' Created on 2016年6月4日 @author: bryan ''' import time from sklearn import metrics import pickle as pickle