Maria@1: # -*- coding: utf-8 -*- Maria@1: """ Maria@1: Created on Mon Oct 5 14:59:39 2015 Maria@1: Maria@1: @author: mariapanteli Maria@1: """ Maria@1: """Selection of classifiers""" Maria@1: Maria@1: import numpy Maria@1: Maria@1: from sklearn.neighbors import KNeighborsClassifier Maria@1: from sklearn.naive_bayes import GaussianNB Maria@1: from sklearn.cross_validation import cross_val_predict Maria@1: from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA Maria@1: from sklearn import svm Maria@1: from sklearn import metrics Maria@1: Maria@1: def classifyKNN(X, Y, nn=1, kfold=5): Maria@1: model = KNeighborsClassifier(n_neighbors=nn, metric='euclidean') Maria@1: Y_pred = cross_val_predict(model, X, Y, cv=kfold) Maria@1: accuracies = [] Maria@1: for i in range(len(Y_pred)): Maria@1: accuracies.append(metrics.accuracy_score([Y[i]], [Y_pred[i]])) Maria@1: return numpy.asarray(accuracies) Maria@1: Maria@1: def classifySVM(X, Y, kfold=5): Maria@1: model = svm.SVC(kernel='linear') Maria@1: Y_pred = cross_val_predict(model, X, Y, cv=kfold) Maria@1: accuracies = [] Maria@1: for i in range(len(Y_pred)): Maria@1: accuracies.append(metrics.accuracy_score([Y[i]], [Y_pred[i]])) Maria@1: return numpy.asarray(accuracies) Maria@1: Maria@1: def classifyLDA(X, Y, kfold=5): Maria@1: model = LDA(n_components=20) Maria@1: Y_pred = cross_val_predict(model, X, Y, cv=kfold) Maria@1: accuracies = [] Maria@1: for i in range(len(Y_pred)): Maria@1: accuracies.append(metrics.accuracy_score([Y[i]], [Y_pred[i]])) Maria@1: return numpy.asarray(accuracies) Maria@1: Maria@1: def classifyNB(X, Y, kfold=5): Maria@1: model = GaussianNB() Maria@1: Y_pred = cross_val_predict(model, X, Y, cv=kfold) Maria@1: accuracies = [] Maria@1: for i in range(len(Y_pred)): Maria@1: accuracies.append(metrics.accuracy_score([Y[i]], [Y_pred[i]])) Maria@1: return numpy.asarray(accuracies) Maria@1: