scikit的损失/风险函数学习朴素贝叶斯分类器

时间:2014-08-30 14:45:08

标签: python scikit-learn

我想知道是否有可能在scikit-learn中为Naive Bayes分类器定义一个损失函数。例如,我们假设我们对垃圾邮件与火腿分类感兴趣。在这种情况下,这种损失函数对于降低假阳性率(即将火腿分类为垃圾邮件,比将垃圾邮件分类为火腿更糟糕)更有用。

为简单起见,我有一个使用高斯here的随机数据的例子。

1 个答案:

答案 0 :(得分:1)

朴素贝叶斯的损失函数总是负的联合对数似然,-log p X Y )。在朴素贝叶斯假设的特征独立性下,这种损失函数的选择使得朴素贝叶斯快速:最大似然训练可以通过执行一个矩阵乘法和一些总和来完成。我能想到的所有其他损失函数都会带你进入迭代优化领域。

关于您的实际问题:您可以尝试使用scoring='precision' GridSearchCV或基于sklearn.metric.fbeta_scoreroc_auc_score的自定义评分函数调整学习者参数。不过,我不确定天真的贝叶斯会不会有这么多,所以你可能想转向逻辑回归。