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

📄 cluster.java

📁 一个用java实现的k-means的简单算法
💻 JAVA
字号:
import java.util.ArrayList;

public class Cluster {
	ArrayList<Data> data;
	int count;
	int num;
	Data center ;
	ArrayList<Data> member ;
	
	public Cluster() {
		center = new Data(0.0,0.0,0.0,0.0);
		member = new ArrayList<Data>();	
		
	}
	public Cluster(ArrayList<Data> data,int count,int num,Data center) {
		center = new Data(0.0,0.0,0.0,0.0);
		member = new ArrayList<Data>();
		this.data = data;
		this.count = count;
		this.num = num;
		this.center = center;
	}
	
	public	void clear() {
		member.clear();
	}
	
	
	
	public Data setCenter(ArrayList<Data> d) {
		double d1 = d.get(0).data[0];
		//System.out.print(d1);
		double sum = 0.0;
		double [] d4 = new double[4];
		for (int j = 0; j < 4; j++) {
			sum = 0;
			for (int i=0;i<d.size();i++) {
				
				sum=sum + d.get(i).data[j];
				//System.out.print(sum);
			}
			sum /= d.size();
			d4[j] = sum;
			//System.out.print(d4[j]);
		}
		center = new Data(d4[0],d4[1],d4[2],d4[3]);
		System.out.print("簇中心为("+d4[0]+","+d4[1]+","+d4[2] +","+d4[3] + ")\n");
		return center;
	}
	
	public boolean judgeCenter(Data d1,Data d2) {
		
		for(int i=0;i<4;i++) {
			//System.out.print(d1.data[i]+"--"+d2.data[i]);
			if((d1.data[i]-d2.data[i])!=0)
				return false;
		}
		return true;
	}

}

class Data {
	Double[] data = new Double[4];
	int dimension;
	
	public Data() {
		data = null;
		dimension = 4;
	}

	public Data(Double d1, Double d2, Double d3, Double d4) {

		data[0] = d1;
		data[1] = d2;
		data[2] = d3;
		data[3] = d4;

	}

}

⌨️ 快捷键说明

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