1. 程式人生 > 實用技巧 >tensorflow決策樹初接觸

tensorflow決策樹初接觸

決策樹是一種樹形結構,為人們提供決策依據,決策樹可以用來回答yes和no問題,它通過樹形結構將各種情況組合都表示出來,每個分支表示一次選擇(選擇yes還是no),直到所有選擇都進行完畢,最終給出正確答案。

決策樹(decision tree)是一個樹結構(可以是二叉樹或非二叉樹)。在實際構造決策樹時,通常要進行剪枝,這時為了處理由於資料中的噪聲和離群點導致的過分擬合問題。剪枝有兩種:

先剪枝——在構造過程中,當某個節點滿足剪枝條件,則直接停止此分支的構造。

後剪枝——先構造完成完整的決策樹,再通過某些條件遍歷樹進行剪枝。

import numpy as np
import matplotlib.pyplot 
as plt from sklearn.tree import DecisionTreeRegressor if __name__ == "__main__": n = 500 x = np.random.rand(n) * 8 - 3 x.sort() y = np.cos(x) + np.sin(x) + np.random.randn(n) * 0.4 x = x.reshape(-1, 1) reg = DecisionTreeRegressor(criterion='mse') # reg1 = RandomForestRegressor(criterion='
mse') dt = reg.fit(x, y) # dt1 = reg1.fit(x, y) x_test = np.linspace(-3, 5, 100).reshape(-1, 1) y_hat = dt.predict(x_test) plt.figure(facecolor="w") plt.plot(x, y, 'ro', label="actual") plt.plot(x_test, y_hat, 'k*', label="predict") plt.legend(loc="best") plt.title(u
'Decision Tree', fontsize=17) plt.tight_layout() plt.grid() plt.show()