我正在使用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. 分割错误示例没有给出分割错误