Skip to content

Instantly share code, notes, and snippets.

@Alexsandr0x
Created June 24, 2017 14:43
Show Gist options
  • Save Alexsandr0x/99a8c36d7217ca117f4a220032948f77 to your computer and use it in GitHub Desktop.
Save Alexsandr0x/99a8c36d7217ca117f4a220032948f77 to your computer and use it in GitHub Desktop.
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