Random 交叉验证WEKA随机

Random 交叉验证WEKA随机,random,weka,cross-validation,Random,Weka,Cross Validation,WEKA交叉验证: Classifier cls = new J48(); Evaluation eval = new Evaluation(data); Random rand = new Random(1); // using seed = 1 int folds = 10; eval.crossValidateModel(cls, data, folds, rand); System.out.println(eval.toSummaryString()); “兰德”是什么意

WEKA交叉验证:

 Classifier cls = new J48();
 Evaluation eval = new Evaluation(data);
 Random rand = new Random(1);  // using seed = 1
 int folds = 10;
 eval.crossValidateModel(cls, data, folds, rand);
 System.out.println(eval.toSummaryString());
“兰德”是什么意思?在这种情况下,如何进行交叉验证?10倍总是混合的

谢谢大家!

“兰德”是什么意思

Rand是一个对象实例,它将为您随机化数据集。这用于交叉验证目的。种子是随机性的一个组成部分

在这种情况下,如何进行交叉验证

数据集是混合的,例如,如果数据行(1-100)按顺序排列,则数据将随机化,因此前5行可能是(77,12,4,7,55),而不是(1,2,3,4,5)

10倍总是混合的


这取决于您使用的工具或库,但我不认为WEKA是这样。我认为这只是拿下1-10,让它成为一盘11-20,让它成为一盘等等。这会导致偏差,尤其是当文件中分组在一起的数据具有类似的特征时。这就是数据最好随机化的原因。

感谢您提供的有用答案,我如何知道weka如何实现交叉验证?(我使用的是weka 3.8),如果我设置了Random(0),这是否意味着我消除了随机性?