comparison classifiers.py @ 6:2732137aa9b5

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