我想知道是否有可能在scikit-learn中为朴素的Bayes分类器定义损失函数。例如,让我们假设我们对垃圾邮件和火腿分类感兴趣。在这种情况下,这样的损失函数将有助于降低假阳性率(即将火腿归类为垃圾邮件,这比将垃圾邮件分类为火腿“更糟”)。
为了简单起见,我有一个使用来自高斯这里的随机数据的例子。
发布于 2014-08-31 15:32:44
朴素贝叶斯的损失函数总是负联合对数似然,-log p(X,Y).这种损失函数的选择,在特征独立性的朴素贝叶斯假设下,使得朴素贝叶斯快速实现:最大似然训练可以通过一个矩阵乘法和几个和来完成。我所能想到的所有其他损失函数都会将您带入迭代优化领域。
关于您的实际问题:您可以尝试使用GridSearchCV来调整学习者参数,使用scoring='precision'或基于sklearn.metric.fbeta_score或roc_auc_score的自定义评分函数。不过,我不确定这是否会在朴素的Bayes中起很大作用,所以您可能想要切换到逻辑回归。
https://stackoverflow.com/questions/25583591
复制相似问题