gpt4 book ai didi

java - 优化weka中的随机森林参数?

转载 作者:行者123 更新时间:2023-11-30 09:18:20 25 4
gpt4 key购买 nike

我正在尝试使用weka优化随机森林参数,java类如下:

package pkg10foldcrossvalidation;

import weka.core.*;
import weka.classifiers.meta.*;
import weka.classifiers.trees.RandomForest;
import java.io.*;
public class RF_Optimizer {



public static void main(String[] args) throws Exception {
// load data
BufferedReader reader = new BufferedReader(new FileReader("C:\\Prediction Results on the testing set\\Dataset.arff"));
Instances data = new Instances(reader);
reader.close();
data.setClassIndex(data.numAttributes() - 1);

// setup classifier
CVParameterSelection ps = new CVParameterSelection();
ps.setClassifier(new RandomForest());
ps.setNumFolds(10); // using 10-fold CV
ps.addCVParameter("C 0.1 0.5 5");

// build and output best options
ps.buildClassifier(data);
System.out.println(Utils.joinOptions(ps.getBestClassifierOptions()));
}

}

但是我很难理解哪些参数应该替换“C”以及如何确定每个参数的范围?同时对多个参数多次使用 .addCVParameter 是否可行?

我尝试搜索一些 youtube 或网站教程来解释如何更改 java 中的随机森林参数,但没有找到。

谢谢

最佳答案

我认为你所描述的,-C是交叉验证参数,而不是随机森林参数。

您不能仅使用 Explorer GUI,打开示例数据集(例如 glass.arff),然后右键单击顶部的粗体 RandomForest 字符串吗窗口,然后从上下文菜单中选择“将配置复制到剪贴板”,然后将该字符串粘贴到您的 java 代码中?

现在执行此操作后,我已将此字符串复制到剪贴板:

weka.classifiers.trees.RandomForest -P 100 -I 100 -num-slots 1 -K 0 -M 1.0 -V 0.001 -S 1

这些是 Weka 随机森林学习器的默认参数。这些参数的含义是什么,其中哪些参数最适合优化,以及使用哪个值范围进行优化,我真的无法说出。很可能一个非常重要的参数是 numIterations,即 -I 参数。也许将其从 100、200...更改为 1000,并绘制 numIterations 与 Accuracy 的关系图,并检查曲线是否已经平滑。

关于java - 优化weka中的随机森林参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49565188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com