#python #encoding #linear-regression #valueerror
#python #кодирование #линейная регрессия #ошибка значения
Вопрос:
Я работаю с линейной регрессией в файле 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.
Я не могу понять, почему моя кодировка вызывает эту проблему и как ее исправить.
Ответ №1:
в новой версии scikit возникли некоторые проблемы, попробуйте установить старую версию (версия 0.19.1):
Windows:
pip install scikit-learn==0.19.1
Linux:
sudo python36 -m pip install scikit-learn==0.19.1
Комментарии:
1. больше похоже на комментарий. и я не думаю, что это проблема с scikit-learn