我正在使用Scikit-learn構建SVM分類器......並且在運行分類器時..我想通過檢查錯誤分類的實例並試圖找出分類器來提高分類器的準確性錯誤分類背後的原因... 所以有沒有辦法顯示錯誤分類的實例?顯示錯誤分類的實例
0
A
回答
3
有沒有辦法顯示錯誤分類的實例?
是的,你需要在這裏和那裏做一些索引。下面是一個例子,但技術細節將取決於分類器的輸入和輸出。
簡單的情況是當輸出是單個值時,因此您可以輕鬆地比較實例是否已被正確分類。例如,我們收集了一些數據和訓練二元分類:
>>> from sklearn import cross_validation, datasets, svm
>>> X, y = datasets.make_classification()
>>> X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y)
>>> clf = svm.LinearSVC().fit(X_train, y_train)
>>> y_pred = clf.predict(X_test)
您可以比較y_test
和y_pred
直接作爲輸出是單值。如果你正在訓練一個多類模型,那麼你將無法做一個簡單的比較,而是應該按班級進行比較。
>>> misclassified_samples = X_test[y_test != y_pred]
如果需要,還可以將布爾掩碼轉換爲索引。
>>> import numpy as np
>>> np.flatnonzero(y_test != y_pred)
array([ 0, 20, 22])
1
假設您使用線性SVM。如果不是,這是非常類似的程序。
from sklearn.svm import LinearSVC
X_train=your_train_data
y_train=your_train_lables
X_test=your_test_data #should be around 30% of you your data
y_test=your_test_labels
svm = LinearSVC()
svm.fit(X_train, y_train)
for item, label in zip(X_test, y_test):
result = svm.predict([item])
if result != label:
print "predicted label %s, but true label is %s" % (result, label)
這會打印出你的分類器在測試數據上所做的每一個錯誤。
相關問題
- 1. 來自數據類型的顯示實例的錯誤
- 2. 錯誤,以顯示實例功能
- 3. UIView子類的後續實例導致顯示錯誤?
- 4. 錯誤實例化類:「org.apache.lucene.analysis.en.KStemFilterFactory
- 5. 角實例化類錯誤
- 6. 錯誤實例化servlet類
- 7. 錯誤的顯示類型
- 8. vaadin顯示錯誤的類
- 9. 顯示依賴類型的實例
- 10. 錯誤顯示錯誤頁面:應用程序實例化錯誤
- 11. GDataDB示例中的實體錯誤
- 12. 顯示錯誤分段錯誤
- 13. Spring Restful Services示例顯示錯誤..!
- 14. 錯誤而調用的類實例
- 15. 實例變量的無類型錯誤
- 16. 分段錯誤 - 顯示樹
- 17. Mysql工作臺顯示錯誤的數據庫實例
- 18. 調用函數錯誤:類的顯式實例
- 19. 如何識別在weka中錯誤分類的確切實例
- 20. 如何讓AWS實例類型顯示
- 21. Hadoop WordCount示例 - 實現分類
- 22. Heroku顯示錯誤無類
- 23. UIButton子類顯示錯誤
- 24. 顯示在實例
- 25. Weka分類實例
- 26. 錯誤地分配了實例變量
- 27. 如何在R的圖例中顯示示例錯誤欄?
- 28. boost :: odeint my_vector.cpp示例中的分段錯誤示例
- 29. ctypes和構建元類:類型錯誤:*類*實例,而不是LP_ *類*實例
- 30. 分割錯誤示例沒有給出分割錯誤