如何让逻辑回归曲线显示在我的情节中[关闭]
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')
【讨论】:
以上是关于如何让逻辑回归曲线显示在我的情节中[关闭]的主要内容,如果未能解决你的问题,请参考以下文章