我们可以使用svm.SVC.score()
来评估SVM模型的准确性。我想在预测错误的情况下得到预期的课程和实际的课程。我如何在scikit-learn
中实现这个目标?scikit-learn中可以得到SVM评分函数中的错误预测列表吗?
1
A
回答
2
这取决于你想要哪种形式的错误预测。对于大多数用例来说,混淆矩阵应该足够。
混淆矩阵是实际类别与预测类别的图表,因此图表的对角线是所有正确的预测,其余单元是不正确的预测。
你可以看到sklearn的Confusion Matrix example混淆矩阵的一个更好的例子。
如果您只是想要列出所有错误分类的值以及它们的预测类和实际类,则可以执行下列操作。
只需选择实际类别和预测类别不相等的所有数据行。
import numpy as np
import pandas as pd
X = np.array([0.1, 0.34, 0.2, 0.98])
y = np.array(["A", "B", "A", "C"])
y_pred = np.array(["A", "C", "B", "C"])
df = pd.DataFrame(X, columns=["X"])
df["actual"] = y
df["predicted"] = y_pred
incorrect = df[df["actual"] != df["predicted"]]
在这种情况下,incorrect
将包含以下条目。
X actual predicted
1 0.34 B C
2 0.20 A B
4
最简单的方法就是遍历你的预测(正确分类),做任何你想要的输出(在下面的例子中,我将只打印到标准输出)。
让我们假设你的数据在输入,标签和你训练的SVM是CLF,那么你可以做
predictions = clf.predict(inputs)
for input, prediction, label in zip(inputs, predictions, labels):
if prediction != label:
print(input, 'has been classified as ', prediction, 'and should be ', label)
0
您可以直接使一个混淆矩阵使用sklearn。它给出了一个(2 * 2)矩阵。
from sklearn import metrics
my_matrix = metrics.confusion_matrix(Y_test, Y_predicted)
Y_test:你的测试类的数组
Y_predicted:通过模型预测的阵列
混淆矩阵会给你的细胞:真正的正值,假阳性值,假阴性值和真负值。请致电this。
相关问题
- 1. Svm预测默认值Scikitlearn
- 2. svm预测中的错误
- 3. 如何从e1071包中运行svm得到预测列表
- 4. R中预测()glmnet函数的错误
- 5. SVM预测读数datatest
- 6. 我如何获得评分预测?
- 7. 我可以在已评估的Groovy脚本中获得错误的行号吗?
- 8. 无法预测MatLab中SVM的输出
- 9. 我们可以在mysql表中得到几列的总和吗
- 10. 我可以获得在Python中使用过滤器的函数列表吗?
- 11. 了解Python中的scikitlearn PCA.transform函数
- 12. 在死亡测试中错误的函数调用评估
- 13. 我可以得到应用于函数的装饰器列表吗?
- 14. 如何使用MATLAB在SVM中获得预测值?
- 15. OCaml:列表函数中的错误
- 16. 有人可以解释你如何在这个函数表达式中得到错误吗?
- 17. 我们可以预测R中的json数据吗?
- 18. ROCR库预测函数错误
- 19. R package'recommenderlab'预测函数输出错误?
- 20. 评估Clojure中的函数列表
- 21. 我可以在异步函数中抛出错误吗?
- 22. python的math.ceil函数可以从浮点表示错误中被欺骗吗?
- 23. 你可以在scala中返回一个未评估函数吗?
- 24. 测试SVM分类器进行文本分类的错误
- 25. svm预测函数总是返回一个大数
- 26. DBvisualizer 9.1.12在评论中以分号表示的错误
- 27. 任何人都可以帮我找到这个C函数中的错误吗?
- 28. RecyclerView可以预加载列表中的前n项吗?
- 29. 你可以将通用对象分组到列表中吗?
- 30. R中的ROCR预测函数返回错误消息
嗨,欢迎来到Stack Overflow,请花点时间浏览[欢迎导览](https://stackoverflow.com/tour),在此处了解您的方式(并获取您的第一个徽章),阅读如何创建[Minimal,Complete和Verifiable示例](https://stackoverflow.com/help/mcve)并检查[如何提出好问题](https://stackoverflow.com/help/how-to - 问),所以你增加了获得反馈和有用答案的机会。 – DarkCygnus