⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crossvalidationtest.java

📁 classification cross validation
💻 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 + -