package ids.test; import ids.clustering.algorithm.Kmeans; import ids.utils.CommonUtils; public class TestKmeans { public static void main(String[] args) { runKmeansIrisT12(); } private static void RunKmeans() { CommonUtils utils = new CommonUtils(false); // read class distribution String dataFileName = "D:\\Repo\\phd_code\\Test\\adult\\ndata.data"; double[][] data = utils.readDataFile(dataFileName); int k = 2; Kmeans km = new Kmeans(data, k); km.debugRun(); } /** * Run Kmeans on T1 and T2 */ private static void runKmeansIrisT12() { int n = 150; CommonUtils utils = new CommonUtils(false); // read iris data set double[][] d1_data = utils.readDataFile("datasets/iris/iris_t1.csv", n, 2); double[][] d2_data = utils.readDataFile("datasets/iris/iris_t2.csv", n, 2); double[][] class_column = utils.readDataFile("datasets/iris/iris_class.csv", 150, 1); int[] iris_class = new int[n]; for (int i = 0; i < n; i++) iris_class[i] = (int)class_column[i][0]; // Number of clusters int k = 3; int[] seeds = {66, 53, 104}; // Domain 1 double[][] d1_centroids = utils.getRows(d1_data, seeds); Kmeans d1_km = new Kmeans(d1_data, k, d1_centroids); d1_km.cluster(); // Domain 2 double[][] d2_centroids = utils.getRows(d2_data, seeds); Kmeans d2_km = new Kmeans(d2_data, k, d2_centroids); d2_km.cluster(); } }