不平衡的类指标和scikit学习

时间:2013-07-02 11:12:50

标签: scikit-learn

scikit-learn中是否存在处理不平衡类的标准方法?

sk-learn的一个乐趣是有一个一致的界面......

但是,当类不平衡时[这似乎是一个非常常见的用例]情况并非如此:IMO不希望分类,而是0到1之间的连续变量,这样你就可以计算auc_score(或类似的东西) )

所以我可以在logistic和其他一些分类器上做auc_score(y,cf.predict_probas(X)),但是我没有看到为什么我不能为任何decision_function基本相同做任何理由[例如RidgeClassifier ..等等,即改变我的门槛并监控误报,命中率?

人们如何做到这一点?这就是我正在做的事情(正如ogrisel所建议的那样)

if hasattr(clf,'predict_proba'):
    proba=clf.predict_proba(X_test)[:,1]
    score=metrics.auc_score(y_test,proba)

elif hasattr(clf,'decision_function'):
    z=clf.decision_function(X_test)
    fpr, tpr, thresholds = metrics.roc_curve(y_test, z)
    score=metrics.auc(fpr, tpr)

1 个答案:

答案 0 :(得分:1)

使用decision_function应该有效,否则这是一个错误。