annotate util/classifiers.py @ 7:b7169083b9ea tip

fix typo in variable name
author Maria Panteli
date Tue, 01 Jan 2019 15:51:38 +0200
parents c4ef4a02fc19
children
rev   line source
Maria@1 1 # -*- coding: utf-8 -*-
Maria@1 2 """
Maria@1 3 Created on Mon Oct 5 14:59:39 2015
Maria@1 4
Maria@1 5 @author: mariapanteli
Maria@1 6 """
Maria@1 7 """Selection of classifiers"""
Maria@1 8
Maria@1 9 import numpy
Maria@1 10
Maria@1 11 from sklearn.neighbors import KNeighborsClassifier
Maria@1 12 from sklearn.naive_bayes import GaussianNB
Maria@1 13 from sklearn.cross_validation import cross_val_predict
Maria@1 14 from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
Maria@1 15 from sklearn import svm
Maria@1 16 from sklearn import metrics
Maria@1 17
Maria@1 18 def classifyKNN(X, Y, nn=1, kfold=5):
Maria@1 19 model = KNeighborsClassifier(n_neighbors=nn, metric='euclidean')
Maria@1 20 Y_pred = cross_val_predict(model, X, Y, cv=kfold)
Maria@1 21 accuracies = []
Maria@1 22 for i in range(len(Y_pred)):
Maria@1 23 accuracies.append(metrics.accuracy_score([Y[i]], [Y_pred[i]]))
Maria@1 24 return numpy.asarray(accuracies)
Maria@1 25
Maria@1 26 def classifySVM(X, Y, kfold=5):
Maria@1 27 model = svm.SVC(kernel='linear')
Maria@1 28 Y_pred = cross_val_predict(model, X, Y, cv=kfold)
Maria@1 29 accuracies = []
Maria@1 30 for i in range(len(Y_pred)):
Maria@1 31 accuracies.append(metrics.accuracy_score([Y[i]], [Y_pred[i]]))
Maria@1 32 return numpy.asarray(accuracies)
Maria@1 33
Maria@1 34 def classifyLDA(X, Y, kfold=5):
Maria@1 35 model = LDA(n_components=20)
Maria@1 36 Y_pred = cross_val_predict(model, X, Y, cv=kfold)
Maria@1 37 accuracies = []
Maria@1 38 for i in range(len(Y_pred)):
Maria@1 39 accuracies.append(metrics.accuracy_score([Y[i]], [Y_pred[i]]))
Maria@1 40 return numpy.asarray(accuracies)
Maria@1 41
Maria@1 42 def classifyNB(X, Y, kfold=5):
Maria@1 43 model = GaussianNB()
Maria@1 44 Y_pred = cross_val_predict(model, X, Y, cv=kfold)
Maria@1 45 accuracies = []
Maria@1 46 for i in range(len(Y_pred)):
Maria@1 47 accuracies.append(metrics.accuracy_score([Y[i]], [Y_pred[i]]))
Maria@1 48 return numpy.asarray(accuracies)
Maria@1 49