📄 crossvalidationtest.java
字号:
import weka.classifiers.Evaluation;
import java.util.Random;
import weka.core.Instances;
import weka.core.Instance;
import weka.filters.Filter;
import weka.filters.unsupervised.attribute.Remove;
import weka.classifiers.bayes.NaiveBayes;
import weka.classifiers.meta.FilteredClassifier;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.FileOutputStream;
import java.io.PrintWriter;
public class CrossValidationTest {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// contains the full dataset we wann create train/test sets from
Instances data = new Instances(new BufferedReader(new FileReader("TrainSet_Partial.arff")));
Remove remove = new Remove(); // new instance of filter
remove.setOptions(weka.core.Utils.splitOptions("-R 2-11,129"));// set options
remove.setInputFormat(data); // inform filter about dataset AFTER setting options
int seed = 2; // the seed for randomizing the data
int folds = 2; // the number of folds to generate, >=2
data.setClassIndex(0); // setting class attribute
Instances randData;
Random rand = new Random(seed); // create seeded number generator
randData = new Instances(data); // create copy of original data
randData.randomize(rand); // randomize data with number generator
for(int n=0;n<folds;n++){
Instances train = randData.trainCV(folds, n);
Instances test = randData.testCV(folds, n);
System.out.println("Fold = " + n + ", Train = " + train.numInstances() + ", Test = "+test.numInstances());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -