决策树是一种可以用于分类和回归的监督式学习算法,它由一个树形结构组成,其中的结点代表对属性的检测,从结点分出的分支代表检测结果。每个叶子结点是一个类标签,从根到叶子结点的路径定义了分类或者回归的规则集合。
决策实现过程:训练函数;预测函数;决策树显示函数。
训练函数
语法
决策树训练函数的语法如下:
tree_train( training_table_name, output_table_name, id_col_name, dependent_variable, list_of_features, split_criterion, weights, max_depth, min_split, min_bucket, n_bins, pruning_params ) |
参数说明
l training_table_name: 含训练数据的输入表表名。
l output_table_name: 保存训练结果的结果表。
l id_col_name: 训练数据中包含ID信息的列名,每行的值应是唯一的。
l dependent_variable: 因变量的列名,boolean、integer、text被视为分类输出,而double 则被视为回归输出。
l list_of_features: 以逗号分隔的自变量的列名。
l split_criterion: 分离标准。对于分类树,可以是'gini', 'entropy', 'misclass',默认为'gini';对于回归树,则只能是'mse'。
l weights: 标识每行输入数据权重的列名。
l max_depth: 树的最大深度。
l min_split: 结点分叉最小观察数。
l min_bucket: 叶子结点最小观察数。
l n_bins: 连续自变量的分位数。
l pruning_params: 剪枝参数,格式为逗号分隔的键值对,支持两种:cp(剪枝成本),n_folds(交叉验证的折叠次数)。
结果表说明
训练函数成功执行后,会创建保存模型信息的结果表,结果表包含如下字段用来表示模型信息:
l pruning_cp: 用于修剪训练树的成本复杂度参数。
l tree: 训练后得到的模型,二进制格式。
l cat_levels_in_text: 分类变量的有序级
l cat_n_levels: 每个分类变量的级数
l tree_depth: 训练后树的最大深度。




