【火爐煉AI】機器學習016-如何知道SVM模型輸出類別的信賴度

來源:互聯網
上載者:User

標籤:就是   上傳   函數   --   資料集   strong   lib   new   1.5   

【火爐煉AI】機器學習016-如何知道SVM模型輸出類別的信賴度

(本文所使用的Python庫和版本號碼: Python 3.5, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2 )

一般的,對於未知樣本,我們通過模型預測出來屬於某種類別,往往會給出是這種類別的機率。

比如通過AI模型識別某一種圖片是“狗”的機率是95.8%,是”貓“的機率是4.2%,那用SVM能不能得到類似的屬於某種類別的機率值了?

1. 準備資料集

本部分代碼和上一篇文章(【火爐煉AI】機器學習014-用SVM構建非線性分類模型 )幾乎一樣,故此不再贅述。

2. 計算新樣本的信賴度

此處,我們自己構建了非線性SVM分類模型,並使用該模型對新樣本資料進行類別的分類。如下代碼

# 計算某個新樣本的信賴度new_samples=np.array([[2,1.5],                      [8,9],                      [4.8,5.2],                      [4,4],                      [2.5,7],                      [7.6,2],                      [5.4,5.9]])classifier3=SVC(kernel=‘rbf‘,probability=True) # 比上面的分類器增加了 probability=True參數classifier3.fit(train_X,train_y)# 使用訓練好的SVM分類器classifier3對新樣本進行預測,並給出信賴度for sample in new_samples:    print(‘sample: {}, probs: {}‘.format(sample,classifier3.predict_proba([sample])[0]))

-------------------------------------輸---------出--------------------------------

sample: [2. 1.5], probs: [0.08066588 0.91933412]
sample: [8. 9.], probs: [0.08311977 0.91688023]
sample: [4.8 5.2], probs: [0.14367183 0.85632817]
sample: [4. 4.], probs: [0.06178594 0.93821406]
sample: [2.5 7. ], probs: [0.21050117 0.78949883]
sample: [7.6 2. ], probs: [0.07548128 0.92451872]
sample: [5.4 5.9], probs: [0.45817727 0.54182273]

--------------------------------------------完-------------------------------------

將該新樣本資料點繪製到2D分布圖中,可以得到如下結果。

########################小**********結###############################

1. 從中可以看出,如果要輸出每一個類別的不同機率,需要設定參數probability=True,同時,需要用classifier.predict_proba()函數來擷取類別機率值。

2. 模型輸出的樣本類別的機率,就是該樣本屬於這個類別的信賴度。

#################################################################

註:本部分代碼已經全部上傳到(我的github)上,歡迎下載。

參考資料:

1, Python機器學習經典執行個體,Prateek Joshi著,陶俊傑,陳小莉譯

【火爐煉AI】機器學習016-如何知道SVM模型輸出類別的信賴度

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.