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

📄 distancemajority.java

📁 aDABOOST This package contains the following files: learner.jar - is a platform independent java
💻 JAVA
字号:
package learner;

public class DistanceMajority implements Classifier {
	int k;

	Data data;

	DistanceMajority(Data data, int k) {
		this.data = data;
		this.k = k;
	}

	public double test(Datastructure[] testdata) {
		int good = 0;
		for (int i = 0; i < testdata.length; i++)
			if (classify(testdata[i].data) == testdata[i].label)
				good++;
		return (good * 100.0) / testdata.length;
	}

	public int classify(double testdata) {
		int i,j=0;
		double classified = 0;
		Datastructure[] distance = data.distance(testdata);
		for (i = 0; i < k; i++)
		//	if (distance[i].data!=0)
			classified += distance[i+j].label * distance[i+j].data;
		//	else j++;

		if (classified == 0)
			classified += distance[++i+j].label * distance[i+j].data;
		if (classified > 0)
			return 1;
		else
			return -1;
	}

	public double[] crossvalidate(int folds) {
		double average = 0;
		double[] results = new double[folds];
		for (int i = 0; i < folds; i++) {
			data.split(i, folds);
			results[i] = test(data.test);
		}
		average = average / folds;
		return results;
	}

	public double findparameter() {
		int k = 0;
		double performance, bestperformance = 0;
		data.split(1, 1);
		for (int i = 0; i < data.test.length / 2; i++) {
			DistanceMajority distance = new DistanceMajority(data, i);
			performance = distance.test(data.test);
			if (performance > bestperformance) {
				bestperformance = performance;
				k = i;
			}
		}
		System.out.println("Best parameter found: " + k);
		return k;

	}

	public Data getdata() {
		return this.data;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -