【问题标题】:How to make training and testing data files for LIBSVM and/or TinySVM如何为 LIBSVM 和/或 TinySVM 制作训练和测试数据文件
【发布时间】:2014-03-24 08:14:37
【问题描述】:

当我打开 LIBSVM 训练数据的示例文件时,我无法理解文件结构。有人可以告诉我怎么做吗?


以下是我预测歌曲作者的训练数据(例如):

  • 特点一:歌词中“爱”字的数量
  • 特点2:歌词中“朋友”字的数量
  • 特点3:歌词中“区”字的数量


训练数据:

  1. 歌曲 A (3, 0, 0),歌曲作者是大卫
  2. 歌曲 B (0, 3, 1),歌曲作者是彼得
  3. 歌曲 C (1, 3, 1),词曲作者是汤姆


测试数据:

  1. 歌曲 D (3, 0, 1)


非常感谢。

【问题讨论】:

    标签: libsvm


    【解决方案1】:

    Libsvm ReadMe file可以帮你

    训练数据一定是这样的

    标签 feature1:value1 feature2:value2 ..... -1:? (? 可以是任意数字)

    但是在 Libsvm 中有一个叫做 svm_node 的东西做同样的事情:

    java 中的示例代码:

    for (int k = 0; k < dataCount; k++) {
            prob.x[k] = new svm_node[features.length];
            for (int j = 0; j < features.length; j++) {
                svm_node node = new svm_node();
                node.index = featuresIndex[j];
                node.value = features[j];
                prob.x[k][j] = node;
            }
            prob.y[k] = lable;
        }
    

    【讨论】:

      【解决方案2】:

      在这个分类问题中,我们为整个数据集 David、Peter、Tom 分配了三个类,我们分别为它们分配了值 0、1 和 2。

      数据集的格式为。

      [label] [feature number] : [the no of times that feature occurs] .... ....
      

      我们的训练数据文件将如下所示。

      0 1:3 2:0 3:0
      1 1:0 3:1 3:1
      2 1:1 2:3 3:1
      

      这个文件可以用来训练我们的模型。在这个文件中有 3 行 4 列,第一列代表实际结果,其他列代表特征数:该特征出现的次数。

      测试数据将被视为。

       1:3 2:0 3:1
      

      这将被传递给 svm 模型,然后可以进行预测。

      【讨论】:

        猜你喜欢
        • 2017-01-14
        • 2013-07-01
        • 1970-01-01
        • 2017-02-20
        • 2020-06-08
        • 1970-01-01
        • 2019-05-01
        • 2020-11-13
        • 1970-01-01
        相关资源
        最近更新 更多