Libsvm - 预测结果为NULL

时间:2014-04-20 11:09:25

标签: python csv libsvm

我正在使用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)只包含零。

预测这种数据是否很棘手?有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

首先了解您的数据。这些类是可分离的还是几乎不可分割的?还是完全不知道?您可以使用NN分类器来确定您的类是否已群集。第二,避免使用subset.py,因为您可能会错过大多数非零样本并使用整个集合。如果您仍然手动失败,请执行一个子集,其中“零”类样本的数量在其他非零类的范围内,以验证您的过程(您使用的是已发布的工具还是自己的代码?)。如果这样,你可以再次从整套开始并使用重量选项。如果体重在做,你必须仔细评估你的Confusion matrix你的分类器是否对你的要求有用。