Mercurial > hg > rhythm-melody-feature-evaluation
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 |