【发布时间】:2017-06-05 23:14:14
【问题描述】:
问题设置:我有一个不平衡的数据集,其中 98% 的数据属于 A 类,2% 属于 B 类。我训练了一个 DecisionTreeClassifier(来自 sklearn),其 class_weights 设置为与以下设置保持平衡:
dtc_settings = {
'criterion': 'entropy',
'min_samples_split': 100,
'min_samples_leaf': 100,
'max_features': 'auto',
'max_depth': 5,
'class_weight': 'balanced'
}
我没有理由将标准设置为熵(而不是 gini)。我只是在玩设置。
我使用tree的export_graphviz得到了下面的决策树图。这是我使用的代码:
dot_data = tree.export_graphviz(dtc, out_file=None, feature_names=feature_col, proportion=False)
graph = pydot.graph_from_dot_data(dot_data)
graph.write_pdf("test.pdf")
我对下图中的值列表输出感到困惑:
值列表变量是否意味着两个类的权重相等?如果是这样,如何为树中的后续节点计算值列表?
这是我在 export_graphviz 中将比例设置为 True 的另一个示例:
我不知道如何解释值列表。条目是类权重吗?这是否意味着分类器将这些权重分别应用于每个类以确定在下一个节点中使用的下一个阈值?
【问题讨论】:
标签: python python-2.7 decision-tree