我很想知道是否有內置scikitlearn python模塊中的函數,可以檢索錯誤分類的文檔。使用scikitlearn檢索錯誤分類的文檔
這很簡單我通常通過比較預測矢量和測試矢量來自己編寫它,並從測試文檔數組中檢索文檔。但我問是否有內置的功能,而不是複製我編寫的每個Python代碼中的功能。
我很想知道是否有內置scikitlearn python模塊中的函數,可以檢索錯誤分類的文檔。使用scikitlearn檢索錯誤分類的文檔
這很簡單我通常通過比較預測矢量和測試矢量來自己編寫它,並從測試文檔數組中檢索文檔。但我問是否有內置的功能,而不是複製我編寫的每個Python代碼中的功能。
如果您有一系列文檔的真實標籤列表y_test
,例如, ["ham", "spam", "spam", "ham"]
你將其轉換成一個NumPy的陣列,那麼你就可以在一個班輪預測進行比較:
現在misclassified
是一個數組索引爲X_test
。
@eickenberg是對的,這種東西並沒有在scikit-learn中實現,因爲用戶需要熟悉NumPy在幾行代碼中自己完成它。
你可以像列表一樣理解錯誤分類。否則,我不知道任何其他方式來做sklearn。
from sklearn.cross_validation import train_test_split
from sklearn import datasets
from sklearn import svm
iris = datasets.load_iris()
X_iris, y_iris = iris.data, iris.target
X, y = X_iris[:, :2], y_iris
X_train, X_test, y_train, y_test = train_test_split(X, y)
clf = svm.LinearSVC()
clf.fit(X_train, y_train)
mis_cls = [train
for test, truth, train in
zip(X_test, y_test, X_train)
if clf.predict(test) != truth]
如果'clf.predict(X_test)!= y_test'就是你正在尋找的,那麼,你說,這是非常簡單的,因此不會暴露任何分類的成員函數。然而,也許有一些技巧,如果你願意,你可以寫一個「得分」對象來做到這一點。 – eickenberg 2014-08-28 17:48:20