不平衡类度量和scikit学习



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

sk学习的乐趣之一是有一个一致的界面。。。

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

所以我可以在逻辑和其他一些分类器上做auc_core(y,cf.predict_probas(X)),但我看不出有什么理由不能在任何决策函数上做基本相同的事情[例如RidgeClassifier…etc],即改变我的阈值并监测虚警、命中率?

人们是如何做到这一点的?这就是我正在做的(正如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)

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

相关内容

  • 没有找到相关文章

最新更新