决策树
决策树(Decision Tree)是一种非参数的有监督学习方法,它能够从一系列有特征和标签的数据中总结出决策规则,并用树状图的结构来呈现这些规则,以解决分类和回归问题。决策树算法容易理解,适用各种数据,在解决各 种问题时都有良好表现。
决策树算法的核心是要解决两个问题:
sklearn中的决策树的类都在tree这个模块下,总共包括五个类
tree.DecisionTreeClassifier 分类树
tree.DecisionTreeRegreessor 回归树
tree.export_graphviz 将生成的决策树导出为DOT格式,画图专用
tree.ExtraTreeClassifier 高随机版本的分类树
tree.ExtraTreeRegressor 高随机版本的回归树
sklearn建模的基本流程
重要参数:
criterion= “entropy” 信息熵 = “gini” 基尼系数
决策树基本流程:
random_state 设置分支中的随机模式的参数,默认None,在高维度随机性会表现的更明显
splitter 用来控制决策树中的随机选项的
剪枝参数
max_depth:限制树的最大深度
min_samples_leaf 每个子节点都必须包含至少多少个训练样本,否则分支不会发生
min_samples_split 一个节点必须要包含至少多少个训练样本才被允许分支
max_features限制分枝时考虑的特征个数,超过限制个数的特征都会被舍弃。
min_impurity_decrease限制信息增益的大小,信息增益小于设定数值的分枝不会发生。
目标权重参数 class_weight min_weight_fraction_leaf
重要的属性和接口
clf.apply 分会每个样本所在的叶子节点的索引
clf.predict返回每个样本的分类回归结果
fit() score()
回归树:
参数criterion 回归树衡量分支质量的指标,支持的标准有三种:
MSE均方误差 friedman_mse 费尔德曼均方误差 mae 绝对平均误差
交叉验证 cross_val_score(模型评估器regressor, 完整数据boston.data, 目标值boston.target, cv=10, scoring="neg_mean_squared_error")
fit() 导入数据要导入二维的 ravel()降维
python中一维数据部分行列
最大深度max_depth 设定小的话限制模型对特征的拟合
类似切片的用法 来增维 [:, np.newaxis]