scikit-learn - 使用 svm 的分类精度低
问题描述
我正在尝试使用 SVM 将大约 5000 条记录和大约 1000 个真值的数据分类为 2 个类。我的代码来自以下示例:
from sklearn import svm
clf = svm.SVC()
clf.fit(X, Y)
所以我使用了大部分默认值。差异对我来说非常高。训练准确率超过 95%,而我正在从数据集中提取大约 50 条记录的测试为 50%。
但是,如果我将测试数据训练的大小更改为大约 3000 和 2000 条记录,那么训练准确度会下降到 80%,而测试准确度会上升。为什么会这样?
现在,如果我将 scikit-learn 库更改为逻辑回归,则百分比保持不变。为什么呢?
解决方案
对 svm 的每一次修改都会产生一个新的准确度,请记住,训练数据的准确度与实际数据的准确度不同。如果您的目标是两者都具有高精度,我建议您先尝试清理数据。
推荐阅读
- php - Google Speech to Text Error: Specify FLAC encoding to match file header
- angular - *ngFor and *ngIf are not working with ngx-slick-carousel in angular. How to fix it?
- c# - How to get focus in active forms?
- android - Firestore:是否有与显示加载 GIF 相关的功能?
- python - MemoryError using dpkt Python 2.7
- node.js - NPM 安装个人节点库
- angular - 当我收到带有令牌的外部登录 URL 时,我无法获取当前 URL
- c# - While publishing a project, how can I do input files "not reachable"?
- spring - 将 ReactJS 与 Spring Boot 集成的正确方法是什么?
- mysql - 定期自动将表的数据从 MySQL DB 导出到 CSV 文件