决策树 {Keras 由浅入深}

xiaoxiaokeke 2020-06-25

决策树

|
![tensorflow ](https://img-blog.csdnimg.cn/20190825125400589.png##pic_center =40x)TensorFlow|
![keras](https://img-blog.csdnimg.cn/20190804140154168.png##pic_center =40x)Keras |

python & mathematics


决策树是基于区域(region-based)的机器学习方法,是非线性的。
主要用于为集合进行分配,达到分配的子集的并为全集,各子集互不相交
即:
$\chi = \cup^n_{i=0} R_i$
$R_i \cap R_j = \phi , i = \not j$

构建决策树最重要的环节其实就是选择分类变量,
分类变量的存在使得产生非线性解,
损失函数一般采用misclass或者cross-entropy

决策树能够很好的解决非线性分类,但是树的生成的终止条件很难把握,并且由于生成的随机性,往往使得决策树过于敏感,容易发生过拟合。所以对于一个分类变量最好不要进行过多次的分类,叶子节点中的样本数量不能过少。

from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
iris = load_iris()
X = iris.data[:, 2:]
y = iris.target
tree_clf = DecisionTreeClassifier(max_depth=2)
tree_clf.fit(X, y)
#X y皆为矩阵

// 关于具体的sklearn中决策树的实现

相关推荐