Uczenie maszynowe i sztuczne sieci neuronowe/DrzewaDecyzyjne cw: Różnice pomiędzy wersjami

Z Brain-wiki
(Utworzono nową stronę "=Wstęp= W bibliotece scikit-learn drzewa decyzyjen iplementowane są przez klasę [http://scikit-learn.org/stable/modules/generated/sklearn.tree.DecisionTreeClassifier....")
 
Linia 30: Linia 30:
 
clf = tree.DecisionTreeClassifier()
 
clf = tree.DecisionTreeClassifier()
 
clf = clf.fit(iris.data, iris.target)
 
clf = clf.fit(iris.data, iris.target)
 +
</source>
 +
Po wytrenowaniu można zilustrować wynik za pomocą narzedzia Graphiz:
 +
<source lang = python>
 +
from sklearn.externals.six import StringIO 
 +
import pydot
 +
dot_data = StringIO()
 +
tree.export_graphviz(clf, out_file=dot_data)
 +
graph = pydot.graph_from_dot_data(dot_data.getvalue())
 +
graph.write_pdf("iris.pdf")
 
</source>
 
</source>

Wersja z 17:17, 2 sty 2016

Wstęp

W bibliotece scikit-learn drzewa decyzyjen iplementowane są przez klasę DecisionTreeClassifier

Aby nauczyć taki klasyfikator potrzebujemy tablicę X o rozmiarach [N_przykładów, N_cech] i wektor Y określający przynależność przykładów w X do klas.

Najprostszy przykład:

from sklearn import tree
X = [[0, 0], [1, 1]]
Y = [0, 1]
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)

Po dopasowaniu można przewidywać przynależność nowych przykładów:

clf.predict([[2., 2.]])

Albo estymować prawdopodobieństwo przynależności do klas:

clf.predict_proba([[2., 2.]])

Przykład zbiór danych Iris

from sklearn.datasets import load_iris
from sklearn import tree
iris = load_iris()
clf = tree.DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)

Po wytrenowaniu można zilustrować wynik za pomocą narzedzia Graphiz:

from sklearn.externals.six import StringIO  
import pydot 
dot_data = StringIO() 
tree.export_graphviz(clf, out_file=dot_data) 
graph = pydot.graph_from_dot_data(dot_data.getvalue()) 
graph.write_pdf("iris.pdf")