human
I wrote the below code

    def get_color(value):
        if (colors['bounds'] is None):
            color = list(colors['rgb'][np.argmax(value)])
            sorted_values = sorted(value, reverse=True)
            if (len(sorted_values) == 1):
                alpha = 0
            else:
                alpha = int(np.round(((255 * (sorted_values[0] - sorted_values[1])) / (1 - sorted_values[1])), 0))
        else:
            color = list(colors['rgb'][0])
            alpha = int(np.round((255 * ((value - colors['bounds'][0]) / (colors['bounds'][1] - colors['bounds'][0]))), 0))
        color.append(alpha)
        hex_codes = [str(i) for i in range(10)]
        hex_codes.extend(['a', 'b', 'c', 'd', 'e', 'f'])
        color = [(hex_codes[(c // 16)] + hex_codes[(c % 16)]) for c in color]
        return ('#' + ''.join(color))
    def node_to_str(tree, node_id, criterion):
        if (tree.n_outputs == 1):
            value = tree.value[node_id][0, :]
        else:
            value = tree.value[node_id]
        labels = (((label == 'root') and (node_id == 0)) or (label == 'all'))
        if special_characters:
            characters = ['&#35;', '<SUB>', '</SUB>', '&le;', '<br/>', '>']
            node_string = '<'
        else:
            characters = ['#', '[', ']', '<=', '\\n', '"']
            node_string = '"'
        if node_ids:
            if labels:
                node_string += 'node    '
            node_string += ((characters[0] + str(node_id)) + characters[4])
        if (tree.children_left[node_id] != _tree.TREE_LEAF):
            if (feature_names is not None):
                feature = feature_names[tree.feature[node_id]]
            else:
                feature = ('X%s%s%s' % (characters[1], tree.feature[node_id], characters[2]))
            node_string += ('%s    %s    %s%s' % (feature, characters[3], round(tree.threshold[node_id], precision), characters[4]))
        if impurity:
            if isinstance(criterion, _criterion.FriedmanMSE):
                criterion = 'friedman_mse'
            elif (not...

What's a good function header?

Here's a good function header?
assistant
#Here's a good function header.

def export_graphviz(decision_tree, out_file=SENTINEL, max_depth=None, feature_names=None, class_names=None, label='all', filled=False, leaves_parallel=False, impurity=True, node_ids=False, proportion=False, rotate=False, rounded=False, special_characters=False, precision=3):