In [1]:
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn.datasets import load_iris
from sklearn.tree import export_graphviz
import pydot
import graphviz
In [2]:
dataset_iris = load_iris()
df = pd.DataFrame(data=dataset_iris.data, columns=dataset_iris.feature_names)
In [3]:
df.head(5)
Out[3]:
In [4]:
X_train, X_test, Y_train, Y_test = train_test_split(dataset_iris.data,
dataset_iris.target,
test_size = 0.33)
In [5]:
clf = DecisionTreeClassifier(max_depth= None,
max_features = None,
criterion = 'entropy',
min_samples_leaf = 1,
min_samples_split = 2)
model = clf.fit(X_train, Y_train)
predicts = model.predict(X_test)
In [6]:
print(confusion_matrix(Y_test, predicts))
In [7]:
print('Acuracia com dados de teste: ', accuracy_score(Y_test, predicts))
In [8]:
output = '/home/avinicius/workspace/machine-learning/tree.dot'
In [9]:
export_graphviz(clf, out_file=output, feature_names=dataset_iris.feature_names)
with open(output) as file:
dot_graph = file.read()
graphviz.Source(dot_graph)
Out[9]:
In [ ]: