决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法
信息熵
信息增益
以某特征划分数据集前后的熵的差值。熵可以表示样本集合的不确定性,熵越大,样本的不确定性就越大。因此可以使用划分前后集合熵的差值来衡量使用当前特征对于样本集合D划分效果的好坏。
基尼值系数
从数据集D中随机抽取两个样本,其类别标记不一致的概率。Gini(D)值越小,数据集D的纯度越高。
API
分类问题
from sklearn.tree import DecisionTreeClassifier
dt_clf = DecisionTreeClassifier()
dt_clf.fit(X, y)
参数:
- criterion:特征选择标准,“gini"或者"entropy”,前者代表基尼系数,后者代表信息增益。一默认"gini"
- min_samples_split:内部节点再划分所需最小样本数
- min_samples_leaf: 叶子节点最少样本数
- max_depth: 决策树最大深度
回归问题
from sklearn.tree import DecisionTreeRegressor
dt_reg = DecisionTreeRegressor()
dt_reg.fit(X_train, y_train)
决策树学习者可以创建不能很好地推广数据的过于复杂的树,容易发生过拟合。