在逻辑回归中预测具有最高可能概率的某个标签
Posted
技术标签:
【中文标题】在逻辑回归中预测具有最高可能概率的某个标签【英文标题】:Predict certain label with highest possible probability in logistic regression 【发布时间】:2018-03-02 03:36:35 【问题描述】:我正在使用 sklearn 中的逻辑回归构建模型,具有 12 个参数和 0,1 标签。我需要对标签 0 非常有信心,如果某些“0”会被错误分类为 1,我可以。这样做的目的是,如果数据被分类为 0,我想从处理中排除数据。
如何调整参数?
【问题讨论】:
您的陈述:I need to be very confident about label 0, I am ok if some '0' will be missclassified to 1.
是矛盾的。首先,您是说您需要对标签 0 非常确定,然后您说可以对其进行错误分类。
抱歉泄露。换句话说,我想确定:如果我的测试数据为 0,那么概率非常高,接近 99%,但如果我得到 1,我可以接受较低的概率。有意义吗?
【参考方案1】:
您基本上是在寻找特异性,它被定义为TN/(TN+FP)
,其中 TN 是 True Negative 而 FP 是 False Positive。您可以在 blog post 中了解更多相关信息,在 detail here 中了解更多信息。要实现这一点,您需要在 sklearn 中使用 make_scorer 和 confusion_matrix metric,如下所示:
from sklearn.metrics import confusion_matrix
from sklearn.metrics import make_scorer
def get_TN_rate(y_true,y_pred):
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
specificity = float(tn)/(float(tn)+float(fp))
return specificity
tn_rate = make_scorer(get_TN_rate,greater_is_better=True)
现在您可以使用tn_rate
作为评分函数来训练您的分类器。
【讨论】:
您将如何在LogisticRegression
模型中使用此记分器?我找不到任何理由把它放进去。以上是关于在逻辑回归中预测具有最高可能概率的某个标签的主要内容,如果未能解决你的问题,请参考以下文章