使用 sklearn 在 Python 中进行多元线性回归的错误

时间:2021-05-11 05:39:00

标签: python machine-learning scikit-learn data-science linear-regression

我正在尝试对数据集执行多元线性回归。我已准备好数据集,train_test_split 已完成,当我尝试将模型拟合到线性回归量时,出现以下错误:

Error in the program - image

我还附上了下面的代码。请看一下,帮我解决错误。

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
%matplotlib inline

dataset = pd.read_csv('50_Startups.csv');

dataset.head()

x = dataset.iloc[:,:-1]
y = dataset.iloc[:,:4]

states = pd.get_dummies(x['State'], drop_first=True)

states.head()

x = x.drop('State', axis=1)

x.head()

x = pd.concat([x, states], axis=1)

from sklearn.model_selection import train_test_split

x_train, X_test, y_train, y_test =  train_test_split(x, y, test_size=0.2, random_state=0)

from sklearn.linear_model import LinearRegression

regressor = LinearRegression()
regressor.fit(x_train, y_train)

1 个答案:

答案 0 :(得分:0)

您收到错误是因为您选择了错误的 Y 值(目标值)。 这会起作用 -

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
%matplotlib inline

dataset = pd.read_csv('50_Startups.csv');
dataset.head()

x = dataset.iloc[:,:-1]
y = dataset['Profit']

x = pd.get_dummies(dataset, prefix=['State'])


from sklearn.model_selection import train_test_split
x_train, X_test, y_train, y_test =  train_test_split(x, y, test_size=0.2, random_state=0)

from sklearn.linear_model import LinearRegression

regressor = LinearRegression()
regressor.fit(x_train, y_train)
相关问题