我在哪里可以找到使用 LibSVM (Java/Python) 对数据集执行 10 倍交叉验证的示例?
问问题
3468 次
2 回答
5
在 Java 的情况下;
您可以使用 libsvm 提供的 svm_cross_validation() 方法。
double[] target = new double[svmProblem.l];
svm.svm_cross_validation(svmProblem, svmParameter, 10, target );
您应该已经创建了 svm_problem 和 svm_parameter 实例(示例中的 svmProblem 和 svmParameter)。函数的第三个参数是折叠数,目标是数据集每个样本的预测标签值数组。因此,目标数组的长度应与输入数据的长度相同。
于 2011-03-14T18:52:39.687 回答
0
除非我在您的问题中遗漏了某些内容,否则包子目录中的svmutil.py
脚本提供了 n 折交叉验证模式:python
libsvm
-v n: n-fold cross validation mode
子目录中的svm_train.java
文件也提供了这样一个选项:java
+"-v n : n-fold cross validation mode\n"
您可以查看这两个文件以获取一些示例代码。
于 2011-03-12T12:46:59.690 回答