【问题标题】:SVM with probability estimates带有概率估计的 SVM
【发布时间】:2015-07-29 00:27:18
【问题描述】:

我有一个使用 SVM 解决的二元分类问题。训练数据中的类是不平衡的。我现在需要获得后验概率输出,而不仅仅是二进制分数。我尝试通过 Weka 的 SMO 和 LibSVM 使用 Platt 缩放。对于这两种实现,我得到的结果,就少数类的 f1 度量而言,比我只生成二进制结果时更差。

您是否知道将 SVM 二进制结果转换为保持下一条规则的概率的方法: “概率 > = 0.5 当且仅当决策值 >= 0”。

意味着当使用二元分类或概率时,每个样本获得的标签是相同的。

【问题讨论】:

    标签: weka svm svmlight


    【解决方案1】:

    可以设置 SVM,以便它们输出类成员概率。您应该查看工具包的文档以了解如何启用此功能。

    例如sckit-learn

    当构造函数选项概率设置为True时,类 成员概率估计(来自方法 predict_proba 和 predict_log_proba) 已启用。

    【讨论】:

    • 我在 weka 的 SMO 和 LibSVM 中都使用了这个设置。在那里,也在 sckit-learn 中,实现是 Platt 缩放。此解决方案的问题在于,与二进制结果案例相比,它给出了不同的结果。
    • @Yonanam:我知道 libSVM 的这种行为。但为什么会出现问题?具有概率的分类器是否表现得更差?
    • @stefan:是的,少数类的 f1 度量的性能更差。我认为这是因为数据不平衡,这样拟合logit函数是有问题的。
    猜你喜欢
    • 2013-03-14
    • 2014-03-28
    • 2013-01-13
    • 2014-04-07
    • 2014-08-11
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 2013-05-22
    相关资源
    最近更新 更多