決策樹learning

1.0 理論

條件熵

信息增益

信息增益比








1.0 sklearn.tree

首先,http://scikit-learn.org給的入門代碼是有問題的...

from sklearn.datasets import load_iris

from sklearn import tree

from sklearn.externals.six import StringIO

import pydot

dot_data = StringIO()

iris = load_iris()

clf = tree.DecisionTreeClassifier()

clf = clf.fit(iris.data, iris.target)

tree.export_graphviz(clf, out_file=dot_data)

graph = pydot.graph_from_dot_data(dot_data.getvalue())

graph.write_pdf("iris.pdf")

這么粘下來,報(bào)的第一個(gè)錯(cuò)是:

AttributeError: 'list' object has no attribute 'write_pdf'

不禁顯然了深深的思考...

然后stackoverflow告訴我,pydot已經(jīng)升級(jí)了,請(qǐng)使用plus版...

于是麻溜的,pydotplus搞起!

果然,報(bào)錯(cuò)變了!(我就知道不會(huì)這么順利...)

InvocationException:GraphViz's executables not found

趕緊再google起來,stackoverflow這次告訴我:小子!你沒裝GraphViz或者沒配環(huán)境吧!

soga!GraphViz裝起來~

搜一個(gè)GraphViz安裝大保健~安裝,重啟IDE

from sklearn.datasets import load_iris

from sklearn import tree

from sklearn.externals.six import StringIO

from IPython.display import Image

import numpy as np

import pandas as pd

import os

import pydotplus

iris = load_iris()

test = tree.DecisionTreeClassifier()

test = test.fit(iris.data, iris.target)

dot_data = StringIO()

tree.export_graphviz(test, out_file=dot_data)

graph = pydotplus.graph_from_dot_data(dot_data.getvalue())

完美~

接下來研究怎么出圖....

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容