1

我在哪里可以找到使用 LibSVM (Java/Python) 对数据集执行 10 倍交叉验证的示例?

4

2 回答 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 折交叉验证模式:pythonlibsvm

-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 回答