决策树
决策树算法中涉及到关于信息熵的一些知识。
熵在物理中的意思是内部的混乱程度。
信息熵代表的是信息的不确定性。
信息熵越大,代表信息的不确定性越大,也就是说要确定这个信息,需要更多的信息量。
决策树的构造思想是:随着树的深度的加深,节点的熵迅速的降低,速度越快越好。熵降低 ,代表不确定变小,反过来说就是确定性变大,直到确定,这样决策树就有了决策。我们期望熵降低的最快,实际上就是想要构建一个深度最低的决策树。
代码如下:
'''
决策树算法实现
构建一棵用于回归预测的决策树
'''
import numpy as np
from matplotlib import pyplot as plt
from sklearn.tree import DecisionTreeRegressor
# 制作数据
X = np.linspace(1,5,500).reshape(500,1)
y = np.sin(X)
# 调用决策树模型
model = DecisionTreeRegressor(max_depth=5)
# 跑模型
model.fit(X,y)
# 数据准确率
print('准确率',model.score(X,y))
# 预测值
h5 = model.predict(X)
plt.scatter(X,y)
plt.plot(X,h5,c='r')
plt.show()