Skip to main content
 首页 » 编程设计

python之使用 scikit-learn,如何在小数据集上学习 SVM

2025年05月04日9sxdcgaq8080

借助 scikit-learn,我构建了一个支持向量机,用于解决基本的手写数字检测问题。

我的总数据集包含 235 个观察值。我的观察每个包含 1025 个特征。我知道在这种情况下使用支持向量机的优势之一是,在这种情况下,少量的观察结果具有大量的特征。

创建 SVM 后,我查看混淆矩阵(下方)...

Confusion Matrix: 
[[ 6  0] 
 [ 0 30]] 

...并意识到保留 15% 的数据用于测试(即 36 个观察值)是不够的。

我的问题是:如何使用交叉验证解决这个小数据问题?

请您参考如下方法:

这正是交叉验证(及其概括,如 Err^0.632)的用途。只有在数据量很大的情况下,hold-out 集才是合理的。