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")