我很想知道是否有内置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