【发布时间】:2014-06-04 13:41:07
【问题描述】:
我正在使用 LibSVM (3.18)。但是每次我预测结果时,它都会给出零。
我正在遵循以下说明:
- 我有 csv 文件(+20K 行),列(目标)中的大部分数据为零,其他值在 0-10 之间。
- 我通过选择此列作为标签将 csv 文件转换为 libsvm 数据。
-
当我缩放数据时,我使用这些参数
$ svm-scale -l 0 -u 1 data.cv>scaled.data
由于我的文件很大,所以我使用 Subset.py。
- 当我完成所有步骤并应用预测时。我得到了很好的准确性结果。 $svm-predict scaled_data.csv model.train data.predicted
准确率 = 94.28%
但我得到的文件(data.predicted)只包含零。
预测这种数据是否棘手?有什么办法可以解决这个问题吗?
【问题讨论】:
-
能否请您发布您使用的代码?可能是前几行输入?
-
是的,这是一个棘手的问题。解决它的常用方法是对少数类进行过采样,使其具有与多数类一样多的样本。我自己从未使用过原始 LibSVM,但看起来
-wi选项可以解决这个问题。 -
但是当我使用权重标志时;这有多准确,因为我们正在用不存在的积极结果重新影响数据集?有没有其他方法可以解决这个问题。