欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python sklearn中的.fit與.predict的用法說(shuō)明

 更新時(shí)間:2020年06月28日 11:10:42   作者:冽夫  
這篇文章主要介紹了Python sklearn中的.fit與.predict的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

我就廢話(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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論