def assignClusters(numClusters): points = track_maps.readTrainMap().values() km = kmeans_clustering.doKMeans(points,numClusters,True) clusters = track_maps.readCentroids() trainMap = track_maps.readTrainMap() folder_loop(train_loc,km,trainMap,clusters,None,None) testMap = track_maps.readTestMap() test_list = [] feature_list = [] folder_loop(test_loc,km,testMap,clusters,test_list,feature_list) track_maps.writeTestSet(test_list) track_maps.writeFeatureSet(feature_list)
def rangeKMeans(start=1,end=30,plot=True): train_map = track_maps.readTrainMap() points = train_map.values() k_means_var = [] for k in range(start,end): result = doKMeans(points,k,False) k_means_var.append(result) if plot: plt.xlabel('Number of Clusters') plt.ylabel('Inertia') plt.title('Sum Distance to Closest Cluster') plt.plot([(x,k_means_var[x-1].inertia_) for x in range(start,end)]) plt.show() return k_means_var