我正在使用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]]
给出了两个类中的实例数。我怎么能得到非整数?
提前致谢