我很想知道scikitlearn python模块中是否有内置的函数可以检索错误分类的文档。
这很简单,我通常通过比较预测向量和测试向量来自己编写,并从测试文档数组中检索文档。但我问的是它是否有内置的功能,而不是复制我编写的每个python代码中的功能。
发布于 2014-08-29 22:41:44
如果您有一组文档的真实标签y_test
列表,例如["ham", "spam", "spam", "ham"]
,并将其转换为NumPy数组,则可以将其与一行代码中的预测进行比较:
import numpy as np
y_test = np.asarray(y_test)
misclassified = np.where(y_test != clf.predict(X_test))
现在,misclassified
是X_test
的一个索引数组。
@eickenberg是对的,这种东西在scikit-learn中没有实现,因为用户应该足够熟悉NumPy,只需几行代码就可以自己完成。
发布于 2014-09-01 20:59:01
你可以通过列表理解得到像这样的错误分类。否则,我不知道在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]
https://stackoverflow.com/questions/25551977
复制相似问题