sábado, 24 de dezembro de 2016

Importando uma dataset

# Load dataset
url = "iris.data"
names = ['sepal-length', 'sepal-width', 'petal-length', 'petal-width', 'class']
dataset = pandas.read_csv(url, names=names)






array = dataset.values
X = array[:,0:4]
Y = array[:,4]

terça-feira, 13 de dezembro de 2016

Visualizando uma Árvore de Decisão

import numpy as np
from sklearn.datasets import load_iris
from sklearn import tree

iris = load_iris()

test_idx = [0,50,100]

# training data
train_target = np.delete(iris.target, test_idx)            #removido as amostras 0,50,100
train_data = np.delete(iris.data,test_idx, axis = 0)    #removido as caracteristicas das amostras 0,50,100

# testing data

test_target = iris.target[test_idx]        #Amostra para testar
test_data = iris.data[test_idx]            #Dados para testar

#print test_target
#print test_data

clf = tree.DecisionTreeClassifier()
clf.fit(train_data, train_target)

print test_target                        #imprime a label da amostra
print clf.predict(test_data)            #com base nos dados da amostrada passada, preve qual e a label    

#viz code
from sklearn.externals.six import StringIO
import pydotplus
dot_data = StringIO()
tree.export_graphviz(clf,
                        out_file=dot_data,
                        feature_names=iris.feature_names,
                        class_names=iris.target_names,
                        filled= True, rounded=True,
                        impurity=False)
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
graph.write_pdf("iris.pdf")

Dataset Iris

from sklearn.datasets import load_iris
iris = load_iris()              #Carrega o iris dataset como iris
print iris.feature_names        #['sepal comprimento (cm)', 'sepal largura (cm)', 
                                #'petal comprimento (cm)', 'petal largura (cm)'
print iris.target_names         #['setosa' 'versicolor' 'virginica'] ou [0,1,2]
print iris.data[0]              #mostra as caracteristicas da primeira amostra, 
                                #que é [ 5.1  3.5  1.4  0.2]
print iris.target[0]            #mostra qual é o tipo da primeira amostra, que é a setosa ou 0

for i in range(len(iris.target)):
    print "Example %d: label %s, features %s" % (i, iris.target[i], iris.data[i]) 
                               #imprime o nº do exemplo, qual é o tipo da amostra e as 
                               #caracteriticas das amostras