Sklearn DecisionTreeClassifier.tree_.value输出浮动

时间:2017-11-14 20:20:42

标签: python-3.x scikit-learn

我正在使用sklearn DecisionTreeClassifier来预测两个类。

<template>
    <div class="hello">
        <button v-on:click="test">Test </button>
    </div>
</template>

<script>
    export default {
  name: 'hello',
    methods: {
        test: () => {
            console.log('log data.message', this.msg); 
        }
    },
  data () {
    return {
      msg: 'Welcome to Your Vue.js App'
    }
  }
}
</script>

我需要输出树进行分析。 没有问题,直到那里,我正在遍历所有节点,并且或多或少地遵循这些规则answer

clf = DecisionTreeClassifier(class_weight='balanced', random_state=SEED)
params = {'criterion':['gini','entropy'],
       'max_leaf_nodes':[100,1000]
       }
grid = GridSearchCV(estimator=clf,param_grid=params, cv=SKF,
                    scoring=scorer,
                    n_jobs=-1, verbose=5)
trans_df = pipe.fit_transform(df.drop(["out"], axis=1))
grid.fit(trans_df, df['out'].fillna(0))

如果我查看不同的值,它们都是非整数,如def tree_to_flat(tree, feature_names): tree_ = tree.tree_ feature_name = [ feature_names[i] if i != _tree.TREE_UNDEFINED else "undefined!" for i in tree_.feature ] positions = [] def recurse(node, depth, position=OrderedDict()): indent = " " * depth if tree_.feature[node] != _tree.TREE_UNDEFINED: name = feature_name[node] threshold = tree_.threshold[node] lname = name ldict = {key:value for (key,value) in position.items()} ldict[lname] = '<=' + str(threshold) rname = name rdict = {key:value for (key,value) in position.items()} rdict[rname] = '>' + str(threshold) recurse(tree_.children_left[node], depth + 1, ldict) recurse(tree_.children_right[node], depth + 1, rdict) else: position['value'] = tree_.value[node] positions.append(position) return position recurse(0, 1) return positions 。 104.03总共接近节点中的实例数(104)。

我的理解是[[296.727705967, 104.03070761]]给出了两个类中的实例数。我怎么能得到非整数?

提前致谢

0 个答案:

没有答案