В GroupKFold в ScikitLearn появляется сообщение об ошибке: ValueError: слишком много значений для распаковки (ожидается 2) - PullRequest
0 голосов
/ 29 октября 2019

При использовании метода GroupKFold из scikit-learn я получаю сообщение об ошибке, которое не могу понять, учитывая документацию.

Сообщение об ошибке:

ValueError: too many values to unpack (expected 2)

Состояния документации:

enter image description here

Для воспроизводимого примера:

from sklearn.model_selection import GroupKFold

X1 = np.random.randint(1, 10, size = (100, 2))

groups1 = np.random.choice([1,2,3, 4, 5], size = 100, p = [.15, .2, .3, .15, .2])


gkf1 = GroupKFold(5)

train, test = gkf1.split(X = X1, groups = groups1 )

, который выдает следующее сообщение об ошибке:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-56-911681dea183> in <module>
      8 gkf1 = GroupKFold(5)
      9 
---> 10 train, test = gkf1.split(X = X1, groups = groups1 )

ValueError: too many values to unpack (expected 2)

1 Ответ

1 голос
/ 29 октября 2019

Функция split возвращает генератор. Вам нужно будет перебрать генератор, чтобы получить поезд и тестовые группы.

Как показано в примере

for train_index, test_index in gkf1.split(X, y, groups):
...