generators

classicML中树结构的生成器.

TreeGenerator

树生成器的基类.

cml.backend.tree.generators(name=None, criterion=None)

参数

  • name: 字符串,生成器的名称.

  • criterion: {’gain’, ‘gini’, ‘entropy’},决策树学习的划分方式.

_call_

功能实现.

__call__(*args, **kwargs)

tree_generate

树的生成实现.

tree_generate(*args, **kwargs)

异常

  • NotImplementedError: 函数没有实现.

DecisionStumpGenerator

决策树桩生成器.

cml.backend.tree.DecisionStumpGenerator(name='decision_stump_generator')

参数

  • name: 字符串,生成器的名称.

_call_

功能实现.

__call__(*args, **kwargs)

tree_generate

生成决策树桩.

tree_generate(D, y)

参数

  • D: 一个Numpy数组, 特征数据.

  • y: 一个Numpy数组, 标签.

返回

_DecisionStump决策树桩实例.

evaluate

对当前的划分方式进行评估.

evaluate(D, y, column, dividing_point, division_mode)

参数

  • D: 一个Numpy数组, 特征数据.

  • y: 一个Numpy数组, 标签.

  • column: 整数, 划分的类别的下标.

  • dividing_point: 浮点数, 划分点的值.

  • division_mode: {’gte’, ‘le’}, 划分模式.

返回

当前的划分方式评估的结果.

DecisionTreeGenerator

决策树生成器.

cml.backend.tree.DecisionTreeGenerator(name='decision_tree_generator', criterion=None)

参数

  • name: 字符串,生成器的名称.

  • criterion: {’gain’, ‘gini’, ‘entropy’},决策树学习的划分方式.

_call_

功能实现.

__call__(*args, **kwargs)

tree_generate

生成决策树.

tree_generate(x, y)

参数

  • x: Pandas的DataFrame,特征数据.

  • y: Pandas的DataFrame,标签.

返回

_TreeNode树结点实例.

TwoLevelDecisionTreeGenerator

2层决策树生成器.

cml.backend.tree.TwoLevelDecisionTreeGenerator(name='2-level_decision_tree_generator', criterion='weighted_gini')

参数

  • name: 字符串,生成器的名称.

  • criterion: {’weighted_gini’},2层决策树学习的划分方式.

_call_

功能实现.

__call__(*args, **kwargs)

tree_generate

生成决策树.

tree_generate(D, y, sample_distribution, height=0)

参数

  • D: 一个Numpy数组, 特征数据.

  • y: 一个Numpy数组, 标签.

  • sample_distribution: 一个Numpy数组, 样本分布.

  • height: 整数, 决策树的高度.

返回

_TreeNode树结点实例.

choose_feature_to_divide

选择最优划分.

choose_feature_to_divide(D, y, sample_distribution)

参数

  • D: 一个Numpy数组, 特征数据.

  • y: 一个Numpy数组, 标签.

  • sample_distribution: 一个Numpy数组, 样本分布.

返回

当前结点划分属性的索引和划分点的值.