Ошибка ValueError найдена при попытке использовать pandas для множественной регрессии

#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)