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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM