【发布时间】:2021-08-18 18:45:38
【问题描述】:
我是 python 新手,一直在从 datacamp 学习管道。我一直在尝试一些缺少 NaN 值的 fifa 数据。我试图创建一个管道,其中包含插补任何缺失数据(用平均值替换它)然后创建逻辑回归的步骤。我似乎在输出中没有任何错误。但是,当我打印诸如 print(x_train) 和 print(y_pred) 之类的内容时,输出仍会返回 NaN 值。这是否表明我的管道不工作并且数据没有正确估算,因为我肯定应该看到平均值而不是 NaN。如果有人能用外行的方式回答这个问题,我将不胜感激,因为我是这个话题的新手。
fif_data=pd.read_csv("fifa_draft_1.csv")
df_Foot_Dummy=pd.get_dummies(fif_data, drop_first=True)
imp=SimpleImputer(missing_values=np.nan, strategy="mean")
logreg=LogisticRegression()
x=df_Foot_Dummy["passing"].values.reshape(-1,1)
y=df_Foot_Dummy["preferred_foot_Right"]
x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.2, random_state=42)
steps=[("imputation", imp),("logistic_regression",logreg)]
pipe=Pipeline(steps)
pipe.fit(x_train,y_train)
y_pred=pipe.predict(x_test)
print(x_train)
print(y_pred)
【问题讨论】:
-
嗨,请阅读:stackoverflow.com/questions/20109391/… 并更新您的代码,以便我们都可以运行相同的东西。例如,您可以替换第一行,以便我们都有一个数据样本到
fif_data -
请打印x、x_train、x_test、y、y_train和y_test的形状
标签: python machine-learning scikit-learn pipeline