如何让逻辑回归曲线显示在我的情节中[关闭]

Posted

技术标签:

【中文标题】如何让逻辑回归曲线显示在我的情节中[关闭]【英文标题】:How do I get a logistic regression curve to show up in my plot [closed] 【发布时间】:2021-12-17 10:00:59 【问题描述】:

我有一个经过训练和可视化的模型,问题是我似乎找不到将曲线绘制到我的绘图上的方法

%matplotlib inline
import pandas as pd
from matplotlib import pyplot as plt

log_df = pd.read_csv("datalist/education/pollingData.csv")

X_train, X_test, y_train, y_test = train_test_split(log_df[['PercentYes']],log_df.side_val,test_size=0.2)

from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(X_train, y_train)
Y = model.predict(X_test)

plt.figure(1, figsize=(4, 3))
plt.clf()
plt.scatter(X_train, y_train, color="black", marker='+')
plt.plot(X_train, y, color='red')

如果我添加最后一行代码,我会收到一条错误消息:

ValueError: x and y must have same first dimension, but have shapes (40, 1) and (10,)

如果没有最后一行,我只会得到一个没有 s 曲线的图形,我将如何重塑我的 x 和 y 值的维度

【问题讨论】:

Don't Post Screenshots。这个问题需要SSCCE。始终提供minimal reproducible example,其中包含代码、数据、错误、当前输出和预期输出,如formatted text。这个问题很可能会被否决并关闭。您不鼓励提供帮助,因为没有人想重新输入数据/代码,而且屏幕截图通常难以辨认。 edit 问题并添加文本。情节还行。见How to provide a reproducible dataframe。 如答案所示plt.plot(X_train, Y, color='red')应该是X_test,因为Y是用X_test生成的。这更像是一个错字,应该在评论中标记,然后投票关闭,因为错字/不可重现。 【参考方案1】:

如果要在测试集上绘制预测,则需要在第一个参数处设置 X_test:

y = model.predict(X_test)
plt.plot(X_test, y, color='red')

【讨论】:

以上是关于如何让逻辑回归曲线显示在我的情节中[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

在 R 中绘制逻辑回归曲线

R语言ROC曲线下的面积 - 评估逻辑回归中的歧视

数据挖掘系列 啥是逻辑回归训练模型?

使用交叉验证和 ROC 评估逻辑回归

逻辑回归模型的校准性

快速上手逻辑回归模型?读这篇就够了(Python机器学习)