Created
June 24, 2017 14:43
-
-
Save Alexsandr0x/99a8c36d7217ca117f4a220032948f77 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import numpy as np | |
from sklearn.neighbors import KNeighborsClassifier | |
from sklearn.naive_bayes import GaussianNB | |
from sklearn.tree import DecisionTreeClassifier | |
from numpy import random | |
X = np.genfromtxt('bases/iris.data', dtype=None, delimiter=',', usecols=(0, 1, 2, 3)) | |
y = np.genfromtxt('bases/iris.data', dtype=None, delimiter=',', usecols=[4]) | |
values_for_training = random.choice(range(0, X.shape[0]), X.shape[0]/4) | |
values_for_test = np.delete(range(0, X.shape[0]), values_for_training) | |
X_training = [X[i] for i in values_for_training] | |
y_training = [y[i] for i in values_for_training] | |
X_test = [X[i] for i in values_for_test] | |
y_test = [y[i] for i in values_for_test] | |
# eh possivel fazer isso pois todas as classes herdao de ClassifierMixin | |
configurations = [ | |
("Knn1", KNeighborsClassifier, 1), | |
("Knn3", KNeighborsClassifier, 3), | |
("Knn5", KNeighborsClassifier, 5), | |
("Naive bayes", GaussianNB, None), | |
("Decision tree | entropy criterion", DecisionTreeClassifier, 'entropy'), | |
("Decision tree | gini criterion", DecisionTreeClassifier, 'gini'), | |
] | |
classifiers = [] | |
for classifier in configurations: | |
classifiers.append((classifier[1](classifier[2]), classifier[0])) | |
for classifier in classifiers: | |
classifier[0].fit(X_training, y_training) | |
for classifier in classifiers: | |
print '{} score is: {}'.format(classifier[1], classifier[0].score(X_test, y_test)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment