package ids.test; import cern.colt.Arrays; import ids.clustering.model.Distance; import ids.clustering.utils.ClusterUtils; import ids.utils.CommonUtils; import ids.utils.UniqueResult; public class TestCommonUtils { private static CommonUtils utils; //private static double[][] input = {{1.0, 5.5, 13.2}, {0.2, .04, 4.5}}; private static double[][] input = {{1.0, 5.5, 13.2}, {0.2, .04, 4.5}, {3.4, 3.4, 4.3}}; private static double[] input1 = {1.2, 2.0, 0.5, 4.5, .3, 2.3}; public static void main(String[] args) { utils = new CommonUtils(true); // test matrix transpose TestMatrixTranspose(); // maximum values in matrix TestMaxValueSearch(); // find stats //TestStats(); // read file //TestReadFile(); // Test Distance //TestDistance(); // Test linspace TestLinspace(); // Test mean vector TestMeanVector(); // Test square standard deviation TestSqStd(); // Test Unique Result TestUniqueResult(); } public static void TestUniqueResult() { double[] uq_input = {0.02, 0, 1, 2, 0.02, 1, 0, 0, 1, 1, 10, 10, 11, 11, 3, 3, 2, 11, 0}; // 0 - 4 // 0.02 - 2 // 1 - 4 // 2 - 2 // 3 - 2 UniqueResult<Double> ur = utils.findUnique(uq_input); System.out.println("Domain:"); utils.printVector(ur.domain); System.out.println("Frequencies"); utils.printVector(ur.frequency); int[] uq_input_int = {2, 0, 1, 2, 2, 1, 0, 0, 1, 1, 10, 10, 11, 11, 3, 3, 2, 11, 0}; // 0 - 4 // 1 - 4 // 2 - 4 // 3 - 2 UniqueResult<Integer> ur_int = utils.findUnique(uq_input_int); System.out.println("Domain:"); utils.printVector(ur_int.domain); System.out.println("Frequencies"); utils.printVector(ur_int.frequency); } public static void TestSqStd() { double[][] a = { {0, 0.1, 1, 10, 34, 45.6} , {0, 0.1, -5, 12, 23, 12.6 } }; double[] a_std = utils.findStd(a); System.out.println("Square of Std Vector"); utils.printVector(a_std); } public static void TestMeanVector() { double[][] a = { {0, 0.1, 1, 10, 34, 45.6} , {0, 0.1, -5, 12, 23, 12.6 } }; double[] a_mean = utils.findMeanVector(a); System.out.println("Mean Vector"); utils.printVector(a_mean); } public static void TestDistance() { System.out.println("\nTest Distance"); ClusterUtils clusterUtils = new ClusterUtils(true); int k = 2; // read clustering result String idxFileName = "C:\\_Research\\_Framework\\Phd_code\\Test\\javaDistTest\\q.data"; int[] idx = clusterUtils.convertDataMatrixToIDX(utils.readDataFile(idxFileName)); // read class distribution String dataFileName = "C:\\_Research\\_Framework\\Phd_code\\Test\\javaDistTest\\d.data"; double[][] data = utils.readDataFile(dataFileName); int n = data.length; // find distance vector first float[] pd = utils.getDistance(data, Distance.EUCLIDEAN); System.out.println("Distance vector"); utils.printVector(pd); // convert to square form float[][] sf = utils.ConvertToSquareForm(pd, n); System.out.println("Distance Matrix"); utils.printMatrix(sf); } public static void TestStats() { System.out.println("Input Vector"); utils.printVector(input1); System.out.println("Mean value: " + utils.findMean(input1)); System.out.println("Sum: " + utils.findSum(input1)); } public static void TestMatrixTranspose() { System.out.println("Input Matrix"); utils.printMatrix(input); double[][] inputT = utils.transpose(input); System.out.println("Transpose Matrix"); utils.printMatrix(inputT); } public static void TestMaxValueSearch() { double[] max_res_dim1 = utils.getMaxValue(input, 1); System.out.println("Maximum values along dim 1"); utils.printVector(max_res_dim1); double[] max_res_dim2 = utils.getMaxValue(input, 2); System.out.println("Maximum values along dim 2"); utils.printVector(max_res_dim2); } public static void TestReadFile() { double[][] data = utils.readDataFile("C:\\_Research\\Datasets\\Heart\\ndata_p.data"); } public static void TestLinspace() { double[] x = utils.linspace(0, 12, 5); double[] y = {0, 0.1, 11, 3.4, 2.5, 0.5, 12, 7.8, 10.5, 4.0, 4.1, 3.9, 4.0, 1.2, 1.3}; System.out.println("X vector from 0 to 4:"); utils.printVector(x); System.out.println("PDF of y vector"); int[] pdf = utils.histc(y, x); utils.printVector(pdf); } }