Python sklearn中的.fit與.predict的用法說(shuō)明
我就廢話(huà)不多說(shuō)了,大家還是直接看代碼吧~
clf=KMeans(n_clusters=5) #創(chuàng)建分類(lèi)器對(duì)象 fit_clf=clf.fit(X) #用訓(xùn)練器數(shù)據(jù)擬合分類(lèi)器模型 clf.predict(X) #也可以給新數(shù)據(jù)數(shù)據(jù)對(duì)其預(yù)測(cè) print(clf.cluster_centers_) #輸出5個(gè)類(lèi)的聚類(lèi)中心 y_pred = clf.fit_predict(X) #用訓(xùn)練器數(shù)據(jù)X擬合分類(lèi)器模型并對(duì)訓(xùn)練器數(shù)據(jù)X進(jìn)行預(yù)測(cè) print(y_pred) #輸出預(yù)測(cè)結(jié)果
補(bǔ)充知識(shí):sklearn中調(diào)用某個(gè)機(jī)器學(xué)習(xí)模型model.predict(x)和model.predict_proba(x)的區(qū)別
model.predict_proba(x)不同于model.predict(),它返回的預(yù)測(cè)值為獲得所有結(jié)果的概率。(有多少個(gè)分類(lèi)結(jié)果,每行就有多少個(gè)概率,對(duì)每個(gè)結(jié)果都有一個(gè)概率值,如0、1兩分類(lèi)就有兩個(gè)概率)
我們直接上代碼,通過(guò)具體例子來(lái)進(jìn)一步講解:
python3 代碼實(shí)現(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") # 這個(gè)方法只是解決了表面,沒(méi)有根治 # 數(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ù)的標(biāo)簽 y_train = np.array([1, 0, 1, 1, 0, 0]) # 測(cè)試數(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ù)測(cè)標(biāo)簽 print(model.predict(x_test)) print('---------------------------------------') # 返回預(yù)測(cè)屬于某標(biāo)簽的概率 print(model.predict_proba(x_test))
運(yùn)行結(jié)果:
分析結(jié)果:
使用model.predict() :
預(yù)測(cè)[2,1,2]為1類(lèi)
預(yù)測(cè)[3,2,6]為1類(lèi)
預(yù)測(cè)[2,6,4]為0類(lèi)
使用model.predict_proba() :
預(yù)測(cè)[2,1,2]的標(biāo)簽是0的概率為0.19442289,1的概率為0.80557711
預(yù)測(cè)[3,2,6]的標(biāo)簽是0的概率為0.04163615,1的概率為0.95836385
預(yù)測(cè)[2,6,4]的標(biāo)簽是0的概率為0.83059324,1的概率為0.16940676
預(yù)測(cè)為0類(lèi)的概率值和預(yù)測(cè)為1的概率值和為1
同理,如果標(biāo)簽繼續(xù)增加,3類(lèi):0,1, 2
預(yù)測(cè)為0類(lèi)的概率值:a
預(yù)測(cè)為1類(lèi)的概率值:b
預(yù)測(cè)為2類(lèi)的概率值:c
預(yù)測(cè)出來(lái)的概率值的和a+b+c=1
注:model.predict_proba()返回所有標(biāo)簽值可能性概率值,這些值是如何排序的呢?
返回模型中每個(gè)類(lèi)的樣本概率,其中類(lèi)按類(lèi)self.classes_進(jìn)行排序。
通過(guò)numpy.unique(label)方法,對(duì)label中的所有標(biāo)簽值進(jìn)行從小到大的去重排序。
得到一個(gè)從小到大唯一值的排序。這也就對(duì)應(yīng)于model.predict_proba()的行返回結(jié)果。
以上這篇Python sklearn中的.fit與.predict的用法說(shuō)明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- python數(shù)據(jù)分析之用sklearn預(yù)測(cè)糖尿病
- Python之Sklearn使用入門(mén)教程
- 運(yùn)行python提示no module named sklearn的解決方法
- python安裝sklearn模塊的方法詳解
- python3.6中anaconda安裝sklearn踩坑實(shí)錄
- python實(shí)點(diǎn)云分割k-means(sklearn)詳解
- python中sklearn的pipeline模塊實(shí)例詳解
- python實(shí)現(xiàn)密度聚類(lèi)(模板代碼+sklearn代碼)
- python sklearn包——混淆矩陣、分類(lèi)報(bào)告等自動(dòng)生成方式
- Python sklearn庫(kù)實(shí)現(xiàn)PCA教程(以鳶尾花分類(lèi)為例)
- Python 機(jī)器學(xué)習(xí)工具包SKlearn的安裝與使用
相關(guān)文章
基于Python實(shí)現(xiàn)自動(dòng)點(diǎn)擊器
顧名思義,Python 中的自動(dòng)點(diǎn)擊器是一個(gè)簡(jiǎn)單的 Python 應(yīng)用程序,它根據(jù)用戶(hù)要求重復(fù)單擊鼠標(biāo), 不同的參數(shù)可以根據(jù)用戶(hù)進(jìn)行更改,下面我們就來(lái)看看具體實(shí)現(xiàn)方法吧2023-10-10利用python計(jì)算時(shí)間差(返回天數(shù))
這篇文章主要給大家介紹了關(guān)于如何利用python計(jì)算時(shí)間差(返回天數(shù))的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09利用Python實(shí)現(xiàn)某OA系統(tǒng)的自動(dòng)定位功能
這篇文章主要介紹了利用Python實(shí)現(xiàn)某OA系統(tǒng)的自動(dòng)定位功能,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05Python進(jìn)行常見(jiàn)圖像形態(tài)學(xué)處理操作的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何使用Python進(jìn)行常見(jiàn)的圖像形態(tài)學(xué)處理,例如腐蝕、膨脹、禮帽、黑帽等,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03解決Pycharm 中遇到Unresolved reference ''sklearn''的問(wèn)題
這篇文章主要介紹了解決Pycharm 中遇到Unresolved reference 'sklearn'的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07python 判斷l(xiāng)inux進(jìn)程,并殺死進(jìn)程的實(shí)現(xiàn)方法
今天小編就為大家分享一篇python 判斷l(xiāng)inux進(jìn)程,并殺死進(jìn)程的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07Python?Scala中使用def語(yǔ)句定義方法的詳細(xì)過(guò)程
這篇文章主要介紹了Python?Scala中使用def語(yǔ)句定義方法,Scala的方法是類(lèi)的一部分,而函數(shù)是一個(gè)對(duì)象可以賦值給一個(gè)變量,下面來(lái)講解Scala的方法,需要的朋友可以參考下2022-09-09Python中設(shè)置變量作為默認(rèn)值時(shí)容易遇到的錯(cuò)誤
這篇文章主要介紹了Python中設(shè)置變量作為默認(rèn)值時(shí)容易遇到的錯(cuò)誤,這是Python新手經(jīng)常容易碰到的問(wèn)題,且往往不會(huì)被輕易察覺(jué)到,需要的朋友可以參考下2015-04-04