Python sklearn中的.fit與.predict的用法說明
我就廢話不多說了,大家還是直接看代碼吧~
clf=KMeans(n_clusters=5) #創(chuàng)建分類器對(duì)象fit_clf=clf.fit(X) #用訓(xùn)練器數(shù)據(jù)擬合分類器模型clf.predict(X) #也可以給新數(shù)據(jù)數(shù)據(jù)對(duì)其預(yù)測print(clf.cluster_centers_) #輸出5個(gè)類的聚類中心y_pred = clf.fit_predict(X) #用訓(xùn)練器數(shù)據(jù)X擬合分類器模型并對(duì)訓(xùn)練器數(shù)據(jù)X進(jìn)行預(yù)測print(y_pred) #輸出預(yù)測結(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ù)測值為獲得所有結(jié)果的概率。(有多少個(gè)分類結(jié)果,每行就有多少個(gè)概率,對(duì)每個(gè)結(jié)果都有一個(gè)概率值,如0、1兩分類就有兩個(gè)概率)
我們直接上代碼,通過具體例子來進(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 LogisticRegressionfrom sklearn.ensemble import RandomForestClassifierfrom xgboost import XGBClassifierimport numpy as npimport warningswarnings.filterwarnings('ignore')# 這個(gè)方法只是解決了表面,沒有根治# 數(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]) # 測試數(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ù)測標(biāo)簽 print(model.predict(x_test)) print(’---------------------------------------’)# 返回預(yù)測屬于某標(biāo)簽的概率 print(model.predict_proba(x_test))
運(yùn)行結(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]的標(biāo)簽是0的概率為0.19442289,1的概率為0.80557711
預(yù)測[3,2,6]的標(biāo)簽是0的概率為0.04163615,1的概率為0.95836385
預(yù)測[2,6,4]的標(biāo)簽是0的概率為0.83059324,1的概率為0.16940676
預(yù)測為0類的概率值和預(yù)測為1的概率值和為1
同理,如果標(biāo)簽繼續(xù)增加,3類:0,1, 2
預(yù)測為0類的概率值:a
預(yù)測為1類的概率值:b
預(yù)測為2類的概率值:c
預(yù)測出來的概率值的和a+b+c=1
注:model.predict_proba()返回所有標(biāo)簽值可能性概率值,這些值是如何排序的呢?
返回模型中每個(gè)類的樣本概率,其中類按類self.classes_進(jìn)行排序。
通過numpy.unique(label)方法,對(duì)label中的所有標(biāo)簽值進(jìn)行從小到大的去重排序。
得到一個(gè)從小到大唯一值的排序。這也就對(duì)應(yīng)于model.predict_proba()的行返回結(jié)果。
以上這篇Python sklearn中的.fit與.predict的用法說明就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向2. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說明3. CSS hack用法案例詳解4. PHP設(shè)計(jì)模式中工廠模式深入詳解5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. ASP+ajax實(shí)現(xiàn)頂一下、踩一下同支持與反對(duì)的實(shí)現(xiàn)代碼7. .NET中l(wèi)ambda表達(dá)式合并問題及解決方法8. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過程(親測可用)9. asp中response.write("中文")或者js中文亂碼問題10. JSP數(shù)據(jù)交互實(shí)現(xiàn)過程解析
