鑑於構建在scikit-learn之上的機器學習模型,我如何分類新實例,然後只選擇那些信心最高的實例?我們如何定義機器學習的信心以及如何生成它(如果不是由scikit-learn自動生成的話)?如果我有更多2個潛在的課程,我應該如何改變這種方法?返回置信度的分類算法?
這是我迄今所做的:
# load libraries
from sklearn import neighbors
# initialize NearestNeighbor classifier
knn = neighbors.KNeighborsClassifier(n_neighbors=3)
# train model
knn.fit([[1],[2],[3],[4],[5],[6]], [0,0,0,1,1,1])
# predict ::: get class probabilities
print(knn.predict_proba(1.5))
print(knn.predict_proba(37))
print(knn.predict_proba(3.5))
例子:
假設我們已經創建使用XYZ機器學習算法模型。我們還假設我們正在嘗試使用位置,興趣愛好和收入等信息根據他們的性別對用戶進行分類。然後,我們有10個說我們想要分類的新實例。正常情況下,應用模型後,我們得到10個輸出,M(男性)或F(女性)。到現在爲止還挺好。但是,我想以某種方式測量這些結果的精確度,然後通過使用硬編碼的閾值來排除那些精度低的問題。我的問題是如何衡量歲差。概率(由predict_proba()函數給出)是一個很好的衡量標準嗎?例如,我可以說,如果可能在0.9和1之間,那麼「保持」(否則「省略」)?或者我應該使用更復雜的方法來做到這一點?正如你所看到的,我缺乏理論背景,所以任何幫助將不勝感激。
這真是一個統計問題。看看CrossValidated。 – shadowtalker 2014-08-29 11:49:31
我已經做到了,但沒有人回覆... – user706838 2014-08-29 15:17:33
你能鏈接到你那邊的問題嗎?回答率通常較低,因爲答案通常比較複雜,並且合格的回答者相對較少。很多好問題都被忽視或未被回答。此外,你可能有更多的運氣*搜索*簡歷;我們得到了很多關於多類分類的問題。 – shadowtalker 2014-08-29 15:22:58