Объект Python sklearn linear_model выдает ошибку ValueError при передаче списка

#python-2.7 #scikit-learn

#python-2.7 #scikit-learn

Вопрос:

Я столкнулся со странной проблемой с некоторыми материалами линейной регрессии из sklearn. В частности, linear_model .

Я пытаюсь выполнить базовое машинное обучение, и поэтому у меня есть часть моего скрипта, которая просматривает мои данные и извлекает объекты в список (списков) X, а затем другая часть, которая передает эти функции в функцию fit . Итак, я получил (примерно)

 from sklearn import linear_model
X, y = extractFeaturesFromData(data,numfeatures)   # my homemade function
reg = linear_model.LinearRegression()
reg.fit(X,y)
  

Когда я запускаю это, я получаю (вместе с трассировкой)

 ValueError: setting an array element with a sequence.
  

Приведенный здесь пример прошел нормально. И X и y, которые возвращает extractFeaturesFromData, имеют тип ‘list’, такой же, как в примере. Если я использую фиктивные X и y со страницы примера, он работает нормально, но использование моего приводит к возникновению ошибки.

Я пробовал изменять количество объектов, извлеченных в X, и распечатывать X и y, возвращенные из моей функции (что показывает, что они имеют тот же формат, что и их фиктивные аналоги из примера), но пока что мне не повезло. Я использую python 2.7 на macbook под управлением 10.9.5. Есть идеи, почему это может происходить? Любая помощь будет высоко оценена.

Комментарии:

1. можете ли вы показать нам свой X и y ?

2. На самом деле, я разобрался с проблемой: один из файлов, которые я импортировал, был слишком большим, и я думаю, что он автоматически сегментировался в массив из нескольких файлов. Удаление этого привело к тому, что все работало нормально.

Ответ №1:

Понял это! Это было совершенно не связано с самим моим кодом; один из файлов, которые я импортировал, был намного больше других и (я думаю) автоматически разделялся на массив, вызывая ошибку. Удаление этого файла заставило все работать нормально.