如何让逻辑回归曲线显示在我的图中

How do I get a logistic regression curve to show up in my plot

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

%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 值的维度

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

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