Python sklearn中的.fit與.predict的用法說明
我就廢話不多說了,大家還是直接看代碼吧~
clf=KMeans(n_clusters=5) #創(chuàng)建分類器對象 fit_clf=clf.fit(X) #用訓練器數(shù)據(jù)擬合分類器模型 clf.predict(X) #也可以給新數(shù)據(jù)數(shù)據(jù)對其預(yù)測 print(clf.cluster_centers_) #輸出5個類的聚類中心 y_pred = clf.fit_predict(X) #用訓練器數(shù)據(jù)X擬合分類器模型并對訓練器數(shù)據(jù)X進行預(yù)測 print(y_pred) #輸出預(yù)測結(jié)果
補充知識:sklearn中調(diào)用某個機器學習模型model.predict(x)和model.predict_proba(x)的區(qū)別
model.predict_proba(x)不同于model.predict(),它返回的預(yù)測值為獲得所有結(jié)果的概率。(有多少個分類結(jié)果,每行就有多少個概率,對每個結(jié)果都有一個概率值,如0、1兩分類就有兩個概率)
我們直接上代碼,通過具體例子來進一步講解:
python3 代碼實現(xiàn):
# -*- 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")
# 這個方法只是解決了表面,沒有根治
# 數(shù)據(jù)(特征,屬性)
x_train = np.array([[1,2,3],
[1,5,4],
[2,2,2],
[4,5,6],
[3,5,4],
[1,7,2]])
# 數(shù)據(jù)的標簽
y_train = np.array([1, 0, 1, 1, 0, 0])
# 測試數(shù)據(jù)
x_test = np.array([[2,1,2],
[3,2,6],
[2,6,4]])
# 導(dǎo)入模型
model = LogisticRegression()
#model = RandomForestClassifier()
#model=XGBClassifier()
model.fit(x_train, y_train)
# 返回預(yù)測標簽
print(model.predict(x_test))
print('---------------------------------------')
# 返回預(yù)測屬于某標簽的概率
print(model.predict_proba(x_test))
運行結(jié)果:

分析結(jié)果:
使用model.predict() :
預(yù)測[2,1,2]為1類
預(yù)測[3,2,6]為1類
預(yù)測[2,6,4]為0類
使用model.predict_proba() :
預(yù)測[2,1,2]的標簽是0的概率為0.19442289,1的概率為0.80557711
預(yù)測[3,2,6]的標簽是0的概率為0.04163615,1的概率為0.95836385
預(yù)測[2,6,4]的標簽是0的概率為0.83059324,1的概率為0.16940676
預(yù)測為0類的概率值和預(yù)測為1的概率值和為1
同理,如果標簽繼續(xù)增加,3類:0,1, 2
預(yù)測為0類的概率值:a
預(yù)測為1類的概率值:b
預(yù)測為2類的概率值:c
預(yù)測出來的概率值的和a+b+c=1
注:model.predict_proba()返回所有標簽值可能性概率值,這些值是如何排序的呢?
返回模型中每個類的樣本概率,其中類按類self.classes_進行排序。
通過numpy.unique(label)方法,對label中的所有標簽值進行從小到大的去重排序。
得到一個從小到大唯一值的排序。這也就對應(yīng)于model.predict_proba()的行返回結(jié)果。
以上這篇Python sklearn中的.fit與.predict的用法說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
- python數(shù)據(jù)分析之用sklearn預(yù)測糖尿病
- Python之Sklearn使用入門教程
- 運行python提示no module named sklearn的解決方法
- python安裝sklearn模塊的方法詳解
- python3.6中anaconda安裝sklearn踩坑實錄
- python實點云分割k-means(sklearn)詳解
- python中sklearn的pipeline模塊實例詳解
- python實現(xiàn)密度聚類(模板代碼+sklearn代碼)
- python sklearn包——混淆矩陣、分類報告等自動生成方式
- Python sklearn庫實現(xiàn)PCA教程(以鳶尾花分類為例)
- Python 機器學習工具包SKlearn的安裝與使用
相關(guān)文章
Python命令行參數(shù)解析模塊optparse使用實例
這篇文章主要介紹了Python命令行參數(shù)解析模塊optparse使用實例,本文講解了增加選項(add_option())、行為(action)、設(shè)置默認值(default)、生成幫助提示(help)、設(shè)置boolean值、錯誤處理、選項組(Grouping Options)等內(nèi)容,需要的朋友可以參考下2015-04-04
Python實現(xiàn)帶參數(shù)的用戶驗證功能裝飾器示例
這篇文章主要介紹了Python實現(xiàn)帶參數(shù)的用戶驗證功能裝飾器,結(jié)合實例形式分析了Python用戶驗證裝飾器具體定義及使用技巧,需要的朋友可以參考下2018-12-12
Python實現(xiàn)簡單求解給定整數(shù)的質(zhì)因數(shù)算法示例
這篇文章主要介紹了Python實現(xiàn)簡單求解給定整數(shù)的質(zhì)因數(shù)算法,結(jié)合實例形式分析了Python正整數(shù)分解質(zhì)因數(shù)的相關(guān)操作技巧,需要的朋友可以參考下2018-03-03
Python+Selenium+Webdriver實現(xiàn)自動執(zhí)行微軟獎勵積分腳本
這篇文章主要為大家詳細介紹了如何利用Python+Selenium+Webdriver實現(xiàn)自動執(zhí)行微軟獎勵積分腳本,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2023-02-02
python飛機大戰(zhàn) pygame游戲創(chuàng)建快速入門詳解
這篇文章主要介紹了python飛機大戰(zhàn) pygame游戲創(chuàng)建,結(jié)合實例形式詳細分析了Python使用pygame創(chuàng)建飛機大戰(zhàn)游戲的具體步驟與相關(guān)操作注意事項,需要的朋友可以參考下2019-12-12

