def Test_weightened_knn(): k_fold = 10 trainingSet=[] testSet = [] predictions = [] dataset = misc.loadData('pc1.arff') trainingSet = np.asarray(trainingSet) testSet = np.asarray(testSet) predictions = [] trainingSet,testSet = partition(dataset,k_fold) accuracy = [] for k in [1,2,3,5,7,9,11,13,15]: print "Weightened KNN with K = " + repr(k) print "K-fold = " + repr(k_fold) for x in range(k_fold): predictions = [] for i in range(len(testSet[x])): result = calculateNeighborsWeightened(trainingSet[x], testSet[x][i], k) predictions.append(result) accuracy.append(misc.calculateAccuracy(testSet[x],predictions)) print 'iteration: '+ repr(x) + " accuracy:" + repr(accuracy[x]) + '%' accuracy_avg = sum(accuracy)/k_fold print ("Average accuracy : " + repr(accuracy_avg) + '%') print accuracy = [] accuracy_avg = 0 print
def Test_vdm_weightened_knn(): k_fold = 10 trainingSet=[] testSet = [] predictions = [] dataset = misc.loadData('chess.csv') trainingSet = np.asarray(trainingSet) testSet = np.asarray(testSet) predictions = [] trainingSet,testSet = partition(dataset,k_fold) accuracy = [] for k in [1,2,3,5,7,9,11,13,15]: print "Weightened KNN-VDM with K = " + repr(k) print "K-fold = " + repr(k_fold) for x in range(k_fold): predictions = [] lookup_ = misc.buildLookUp(trainingSet[x]) classes = misc.getClasses(trainingSet[x]) for i in range(len(testSet[x])): result = calculateNeighborsWeightenedVDM(trainingSet[x],testSet[x][i],k,lookup_,classes) predictions.append(result) accuracy.append(misc.calculateAccuracy(testSet[x],predictions)) print 'iteration: '+ repr(x) + " accuracy:" + repr(accuracy[x]) + '%' accuracy_avg = sum(accuracy)/k_fold print ("Average accuracy : " + repr(accuracy_avg) + '%') print accuracy = [] accuracy_avg = 0 print
def Test_hvdm_unweightened_knn(): k_fold = 10 trainingSet=[] testSet = [] predictions = [] dataset = misc.loadData('crx.data') for i in range(len(dataset)): if dataset[i][13] != '?': dataset[i][13] = float(dataset[i][13]) trainingSet = np.asarray(trainingSet) testSet = np.asarray(testSet) predictions = [] trainingSet,testSet = partition(dataset,k_fold) accuracy = [] for k in [1,2,3,5,7,9,11,13,15]: print "UnWeightened KNN-HVDM with K = " + repr(k) print "K-fold = " + repr(k_fold) for x in range(k_fold): predictions = [] maxmin = misc.maxMin(trainingSet[x]) lookup_ = misc.buildLookUp(trainingSet[x]) classes = misc.getClasses(trainingSet[x]) for i in range(len(testSet[x])): result = calculateNeighborsUnWeightenedHVDM(trainingSet[x],testSet[x][i],k,lookup_,classes,maxmin) predictions.append(result) accuracy.append(misc.calculateAccuracy(testSet[x],predictions)) print 'iteration: '+ repr(x) + " accuracy:" + repr(accuracy[x]) + '%' accuracy_avg = sum(accuracy)/k_fold print ("Average accuracy : " + repr(accuracy_avg) + '%') print accuracy = [] accuracy_avg = 0 print