predict_proba() 预测单个值时的逻辑回归

Posted

技术标签:

【中文标题】predict_proba() 预测单个值时的逻辑回归【英文标题】:predict_proba() Logistic Regression when predicting a single value 【发布时间】:2021-04-16 15:30:03 【问题描述】:

给定一个数据集,我想使用逻辑回归来预测一个类(-1 或 +1),我将其拆分如下(在测试集中只预测一个条目):

x_train, x_test = loc_indep[:-1], loc_indep[-1:]
y_train, y_test = loc_target[:-1], loc_target[-1:]

然后我使用以下来训练模型:

regr = LogisticRegression()
regr.fit(x_train, y_train)

predictions = regr.predict(x_test)

probabilities = regr.predict_proba(x_test)
print(probabilities) # prints probabilities

鉴于上述情况,probabilities 总是打印 [1. 0.] 或 [0. 1.],这意味着选择 +1 类或 -1 类的概率为 100%。为什么会这样?我预计概率总和为 1,但模型选择的概率为 54%,例如 +1 类。

【问题讨论】:

【参考方案1】:

您的代码似乎是正确的。所以这意味着你有一个超级准确的模型(这让我怀疑出了什么问题......)。我会建议检查你的训练数据,也许你有一些变量,错误,解释太多(例如相同的输出)。

还尝试输出训练的测试准确度。如果训练准确率是 100%,而测试准确率要低得多,那么你就过拟合了。然后你将不得不改变一些超参数来避免它。

总结一下,试着理解你的数据,也许区分这两个类非常容易,也许正是因为这个原因,你得到了这么好的模型。

【讨论】:

以上是关于predict_proba() 预测单个值时的逻辑回归的主要内容,如果未能解决你的问题,请参考以下文章

提高单个样本的 SVC 预测性能

为啥随机森林分类器 .predict() 和 .predict_proba() 的预测不匹配?

Oracle/SQL:将日期和时间连接成单个日期值时的数字格式模型无效

至少一个表包含所需值时的 SQL JOIN:这可以在单个查询中实现吗?

在 Firestore 中存储字典值时的逻辑问题

机器学习---算法---逻辑回归