決策樹python實現
Ⅰ python中的sklearn中決策樹使用的是哪一種演算法
sklearn中決策樹分為DecisionTreeClassifier和DecisionTreeRegressor,所以用的演算法是CART演算法,也就是分類與回歸樹演算法(classification and regression tree,CART),劃分標准默認使用的也是Gini,ID3和C4.5用的是信息熵,為何要設置成ID3或者C4.5呢
Ⅱ python sklearn決策樹的圖怎麼畫
#coding=utf-8
from sklearn.datasets import load_iris
from sklearn import tree
iris = load_iris()
clf = tree.DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)
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[0].write_dot('iris_simple.dot')
graph[0].write_png('iris_simple.png')
Ⅲ 決策樹演算法如何將連續值轉化為離散值處理,我要Python實現的代碼,希望完整一點
切斷就行了。。。比如某個特徵的值,預期會在1-100之間。。。那麼你可以人為的切片,1-10的,就算1。。。
Ⅳ python 怎麼優化決策樹的准確度
增加訓練的數據量
減少數據的特徵數
降低樹的高度
調整剪枝策略
Ⅳ python決策樹程序fit_transform報錯求解
在第28行和29行之間插入這個試試:
print(help(DVT.fit_transform))
Ⅵ python sklearn 如何用測試集數據畫出決策樹(非開發樣本)
#coding=utf-8
from sklearn.datasets import load_iris
from sklearn import tree
iris = load_iris()
clf = tree.DecisionTreeClassifier()
clf = clf.fit(iris.data, iris.target)
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[0].write_dot('iris_simple.dot')
graph[0].write_png('iris_simple.png')
Ⅶ 如何將python生成的決策樹畫出來
示例
# http://scikit-learn.org/stable/moles/tree.html
>>> from IPython.display import Image
>>> dot_data = tree.export_graphviz(clf, out_file=None,
feature_names=iris.feature_names,
class_names=iris.target_names,
filled=True, rounded=True,
special_characters=True)
>>> graph = pydotplus.graph_from_dot_data(dot_data)
>>> Image(graph.create_png())
Ⅷ python 決策樹可以調什麼參數
調用這個包:
sklearn.treesklearn(scikit-learn)可以去下載,解壓後放入C:Python27Libsite-packages直接使用。需要用同樣的方法額外內下載numpy和scipy包,不然會報錯。
例子:容
fromsklearn.datasetsimportload_iris
fromsklearn.model_selectionimportcross_val_score
fromsklearn.
clf=DecisionTreeClassifier(random_state=0)
iris=load_iris()
cross_val_score(clf,iris.data,iris.target,cv=10)
Ⅸ 如何將python生成的決策樹利用graphviz畫出來
決策樹是用樣本的屬性作為結點,用屬性的取值作為分支的樹結構。
決策樹的根結點是所有樣本中信息量最大的屬性。樹的中間結點是該結點為根的子樹所包含的樣本子集中信息量最大的屬性。決策樹的葉結點是樣本的類別值。決策樹是一種知識表示形式,它是對所有樣本數據的高度概括決策樹能准確地識別所有樣本的類別,也能有效地識別新樣本的類別。
決策樹演算法ID3的基本思想:
首先找出最有判別力的屬性,把樣例分成多個子集,每個子集又選擇最有判別力的屬性進行劃分,一直進行到所有子集僅包含同一類型的數據為止。最後得到一棵決策樹。
J.R.Quinlan的工作主要是引進了資訊理論中的信息增益,他將其稱為信息增益(information gain),作為屬性判別能力的度量,設計了構造決策樹的遞歸演算法。
舉例子比較容易理解:
對於氣候分類問題,屬性為:
天氣(A1) 取值為: 晴,多雲,雨
氣溫(A2) 取值為: 冷 ,適中,熱
濕度(A3) 取值為: 高 ,正常
風 (A4) 取值為: 有風, 無風
每個樣例屬於不同的類別,此例僅有兩個類別,分別為P,N。P類和N類的樣例分別稱為正例和反例。將一些已知的正例和反例放在一起便得到訓練集。