Programs must be running, and would be demonstrated to the instructor. There is 30% weight for writing a detailed high level algorithm and 70% weight for the running code. No credit for not running code even if you have correct algorithm. All material should be neatly typed on the computer. There is a 20% bonus points for neatness of presentation.
Problem # 1. Write a K-means high level algorithm and program for clustering the N-dimensional data point in your own language. The algorithm should be able to read the data from a data file that has data in the following form. Note: you can use software library for sorting if needed.
Dimensions =
....
will be given as comma separated dimension coordinates starting from dimension 1. The dimension value will be given from 1..100. The will be a word for example 'diabetes', 'kidney problem', 'acidity' etc. If the column is missing, it would mean no disease is associated with that value.
The distance measure will be Euclidean that means it is square root of squares of difference of coordinate and centeroids. Your program should display the coordinates of the centroid on the screen, the threshold value you gave, and the maximum distance from the centroid to the farthest point in a cluster for all the clusters. It should also give the coordinates of the 'Outliers' in a separate output file. Outliers are those points that do not belong to any cluster.
Problem #2. Write a minimum spanning tree high level algorithm and program for clustering the N-dimensional data point in your own language. The algorithm should be able to read the data from a data file that has data in the following form. Note: Greedy algorithms are good for MST. You can use software library for sorting if needed.
Dimensions =
....
will be given as comma separated dimension coordinates starting from dimension 1. The dimension value will be given from 1..100. The will be a word for example 'diabetes', 'kidney problem', 'acidity' etc. If the column is missing, it would mean no disease is associated with that value.
The distance measure will be Euclidean that means it is square root of squares of difference of coordinate and centeroids. Your program should display the coordinates of the centroid on the screen, the threshold value you gave, and the maximum distance from the centroid to the farthest point in a cluster for all the clusters. It should also give the coordinates of the 'Outliers' in a separate output file. Outliers are those points that do not belong to any cluster.