def _get_variables_for_entropy_calculation(tree, node_id):
left_child = tree.children_left[node_id]
right_child = tree.children_right[node_id]
full_set_values = tree.value[node_id].flatten()
left_set_values = tree.value[left_child].flatten()
right_set_values = tree.value[right_child].flatten()
# remove zeros from value_counts to continue processing
full_set_without_zero_counts = full_set_values[np.where(full_set_values > 0)[0]]
full_set_tree_classes = full_set_without_zero_counts.size
left_set_without_zero_counts = left_set_values[np.where(left_set_values > 0)[0]]
left_set_tree_classes = left_set_without_zero_counts.size
right_set_without_zero_counts = right_set_values[np.where(right_set_values > 0)[0]]
right_set_tree_classes = right_set_without_zero_counts.size
return full_set_without_zero_counts, full_set_tree_classes, left_set_without_zero_counts, left_set_tree_classes, right_set_without_zero_counts, right_set_tree_classes
评论列表
文章目录