#python #pandas #sklearn-pandas
Вопрос:
Я пытаюсь запустить простую программу множественной линейной регрессии с использованием panda с большим набором данных, но я получаю сообщение об ошибке, в котором говорится: ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
Код такой:
from sklearn import linear_model
import pandas as pd
data = pd.read_csv('manydatas.csv')
x = data[['Bedrooms', 'City', 'Age']]
y = data['Selling Price']
line = linear_model.LinearRegression(x,y)
line.fit(x,y)
Я был бы признателен за любую помощь в этом, спасибо
Редактировать: Вот ссылка на диск с файлом .csv с моими данными, там более тысячи элементов, поэтому я просто связываю все это: https://drive.google.com/file/d/1VCNJZNKYRmUd7A6qQlDnzTbiO_7x7I3s/view?usp=sharing
Комментарии:
1. Вы пробовали преобразовать x в массив numpy?
2. Я добавлю данные
Ответ №1:
Не используйте свои данные внутри конструктора модели
line = linear_model.LinearRegression().fit(x,y)
Ответ №2:
Чтобы выполнить линейную регрессию, вы должны использовать linear_model.LinearRegression().fit(X, y)
, а не linear_model.LinearRegression(x,y)
. Если проблема все еще сохраняется, попробуйте преобразовать данные в массив numpy. (источник: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html)