#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:
Понял это! Это было совершенно не связано с самим моим кодом; один из файлов, которые я импортировал, был намного больше других и (я думаю) автоматически разделялся на массив, вызывая ошибку. Удаление этого файла заставило все работать нормально.