用DecisionTree决策树来求取分类阈值

在二分类任务中,我们经常需要根据概率值来确定类别。通常的方法是设定0.5的中间阈值,但是在一些不平衡的任务中,我们并不知道阈值应该设定为多少,这时可以简单的利用决策树的方法,可视化的来求得最优阈值。当然你也可以用一个简单的神经网络来拟合这个阈值。

下面就是python调用sklearn库来实现的阈值求解代码:

from sklearn import tree

X = []
Y = []
for line in f_lines:
    x = [line.strip()]
    X.append(x)
for line in f1_lines: 
    Y.append(line.strip())

print(len(X))
print(len(Y))
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, Y)

print(clf.get_params())

import graphviz
dot_data = tree.export_graphviz(clf,out_file=None)
graph = graphviz.Source(dot_data)
graph.render("iris")

graph

你可能感兴趣的:(python)