在二分类任务中,我们经常需要根据概率值来确定类别。通常的方法是设定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