我目前遇到在高度稀疏的数据集上使用 SVM的问题。问题是我有N * M数据集,其中N个例子和M个特征。 每个N几乎没有10个特征。
截至目前,我将这些特征表示为二进制向量,即如果现在在给定的0中存在该特征,则为1。 数据集是平衡的,我的准确率为94%。此外,ROC为0.93 。我试图理解为什么这种准确性会很高。
(1)任何人都可以引导我阅读相关论文,其中稀疏数据集具有高精度,我可以尝试找到如此高精度的原因。
(2)我还计划使用SciKit Learn。任何人都可以建议我在scikit中应该使用哪个函数在SVM中学习,这是为这种高稀疏度数据集而设计的。
(3)如果任何人可以尝试向我解释如此高准确度背后的原因,那么它会很棒。
(4)此外,如果我将二元特征表示更改为某种加权表示,它是否会给我一些优势。
答案 0 :(得分:0)
嗯,对于初学者来说,稀疏的训练数据并不一定意味着分类准确度必须很低。如果您能找到一个好的决策边界,那么数据是否稀疏并不重要。请记住,支持向量本身是数据的一个非常小(=稀疏)的子集,但它们仍然足以用于分类目的。与机器学习一样,算法结果高度依赖于问题域和所选择的参数。
对于您的第二个问题,“svm稀疏数据”的第一个google结果显示此链接: http://scikit-learn.org/stable/modules/svm.html
至于第四个问题,一旦你尝试过,你只能知道答案,没有人知道你的方法和有关数据的更多细节,没有人可以预测结果。