決策樹實現

2021-09-02 07:19:55 字數 1031 閱讀 8252

決策樹是大資料技術進行分類和**的一種,決策樹學習是一種基於例項歸納學習演算法,它主要從一組無次序、無規則的例項中推理出以決策樹所代表分類規則。它採用從上向下的遞迴方式,在決策樹的內部節點進行屬性的比較,並根據不同屬性值判斷從該節點向下的分支,在決策樹的葉節點得到結論。

**如下

import pandas as pd

from sklearn import tree

from sklearn.externals.six import stringio

import pydotplus

def loaddataset():

data = pd.read_csv("all.csv")

x = data.iloc[:, :8].as_matrix()

y = data.iloc[:, 8].as_matrix()

print(x)

print(y)

return x,y

loaddataset()

x,y=loaddataset()

clf = tree.decisiontreeclassifier(max_depth=100) # 演算法模型

clf = clf.fit(x, y) # 模型訓練

dot_data = stringio()

tree.export_graphviz(clf, out_file=dot_data,

feature_names=['gzx','gzy','x','y','z','rx','ry','rz'],

class_names=['1','2','3','4','5','6'],

filled=true, rounded=true,

special_characters=true)

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

graph.write_pdf("iris1.pdf") # 寫入pdf

決策樹實現

from math import log import operator 計算資料集的熵 def calsshannonent dataset numentries len dataset labelcounts for featvec in dataset currentlabel featvec...

python實現決策樹

決策樹是乙個 模型 他代表的是物件屬性與物件值之間的一種對映關係。樹中每個節點表示某個物件,而每個分叉路徑則代表某個可能的屬性值,而每個葉節點則對應從根節點到該葉節點所經歷的路徑所表示的物件的值。詳細關於決策樹的討論,請自行google。一 找到最優分割位置 1 針對樣本資料,需要在其不同的維度 d...

決策樹和CART決策樹

首先簡單介紹下決策樹 說到決策樹肯定離不開資訊熵 什麼是資訊熵 不要被這名字唬住,其實很簡單 乙個不太可能的時間居然發生了,要比乙個非常可能的時間發生提供更多的資訊。訊息說 今天早上太陽公升起 資訊量是很少的,以至於沒有必要傳送。但另一條訊息說 今天早上日食 資訊量就很豐富。概率越大資訊量就越少,與...