【发布时间】:2020-07-24 12:12:25
【问题描述】:
我的数据集中有一些 Nan 值,我想用预测值替换它们。
这是我的数据集:
code v0 v1 v2 v3
0 zd56 NaN 25 189.3 0.07
1 wd_89 12.9 22 193.6 0.12
2 wd_891 13.0 50 193.8 0.43
3 nsw_20 14.5 26 180.2 0.16
4 lstm5 9.1 13 170.9 0.13
5 mus_80 10.0 20 186.8 0.11
6 gs 10.0 22 187.0 0.05
7 df00 NaN 12 189.9 0.10
我想通过根据列 v1、v2 和 v3 预测线性回归来替换列 v0 中的这两个 Nan。
如果没有缺失值,我会这样做:
X = df[['v1', 'v2', 'v3']]
y = df['v0'].values
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.8, random_state=0)
regressor = LinearRegression()
regressor.fit(X_train, y_train)
y_pred = regressor.predict(X_test)
df1 = pd.DataFrame({'Actual': y_test, 'Predicted': y_pred})
df1
但我知道我们无法将缺失值传递给算法,即使经过一些研究,我也找不到我的问题的解决方案。
train_test_split 方法随机分割数据集。 我想知道是否有办法“手动”拆分:将所有缺失值放入 y_test。
我非常感谢所有可能有用的答案。谢谢!
【问题讨论】:
标签: python pandas linear-regression prediction