我正在对 CSV 文件进行线性回归,并且一直在对所有分类值进行编码。有一些数值(例如年份)只有在它们也发生变化时才会与目标变量相关。我的代码运行顺利,但是一旦我通过以下方式对数字特征之一进行编码:
subset_2=[1088, 1096, 1174, 1185, 1237, 1304, 1362, 1414, 1479]
subset_1=[568, 571, 573, 574, 590 ,626 ,631, 636, 644, 651, 700, 725, 743, 762, 797, 167, 192, 332, 370, 403 ,438, 445]
def encode_2ndFlrSF(x):
if x==[i for i in subset_2]:
return 30
elif x==[i for i in subset_1]:
return 20
else:
return 10
df['2ndFlrSF'] = df['2ndFlrSF'].apply(encode_2ndFlrSF)
df['2ndFlrSF'] =df['2ndFlrSF'].apply(encode_2ndFlrSF)
我收到以下错误:
```
ValueError: With n_samples=0, test_size=0.3 and train_size=None
the resulting train set will be empty
. Adjust any of the aforementioned parameters.
我不明白为什么我的编码会导致这个问题以及如何解决它。