1

我正在对 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.

我不明白为什么我的编码会导致这个问题以及如何解决它。

4

1 回答 1

0

scikit新版本有一些问题,尝试安装旧版本(版本0.19.1):

视窗:

pip install scikit-learn==0.19.1

Linux:

sudo python36 -m pip install scikit-learn==0.19.1
于 2021-05-29T07:46:19.493 回答