在线性回归中如何使用这些X和Y变量?

时间:2019-05-29 14:38:21

标签: python pandas machine-learning linear-regression

我正在尝试使用简单的线性回归来预测某项商品的成本。作为输入数据,我使用物料的成本。

该代码似乎可以正常工作,但是我不知道在应用线性回归时如何使用X和Y。我将X用作物料成本,将Y用作标签(使用X的移位数据创建新行)

df = df[['Item Price']]
forecast_col = 'Item Price'
forecast_out = int(math.ceil(0.0000005 * len(df)))
df['label'] = df[forecast_col].shift(-forecast_out)

X = df[['Item Price']]
X = preprocessing.scale(X)
X_lately = X[forecast_out:]
X = X[:-forecast_out]

df.dropna(inplace=True)

y = np.array(df['label'])

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
clf = LinearRegression(n_jobs=-1)
clf.fit(X_train, y_train)

forecast_set = clf.predict(X)

X和Y变量如何用于求解Y = a + bX的线性回归方程

1 个答案:

答案 0 :(得分:2)

您的行:

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

将X和y分别分成两个样本:一个包含80%数据的火车,另一个包含20%数据的测试。然后一行:

clf = LinearRegression(n_jobs=-1)

创建一个线性模型。最后一行:

clf.fit(X_train, y_train)

线性模型使用X_train和Y_train中的所有(x,y)来计算最佳线性回归。


采用更数学的方法,该算法使用X_train和Y_train中包含的所有(x,y)来找到使等式E最小的a和b:

E = SUM(y_i-a * x_i-b)

通过找到E的导数和E的二阶导数等于0的位置来找到a和b值