Linear Regression 理论基础
Linear Regression 认为各个feature之间的关系是线性的,通过修正线性相关的系数,来拟合整个变化趋势。
之所以采用 Linear Regression 并认为特征之间是线性关系,是因为线性关系拟合起来比较简单,是最基础的方程,可以由这个方程得到许多高级的复杂的方程。而且也可以更有效防止 overfitting 的产生。
如果想要拟合二次方程,则在构造特征的时候,把一次特征做一个平方,新产生一个特征即可。
利用 Linear Regression 预测房价
import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
X_train = df.values[:, 1:]
y_train = df.values[:, 0]
X_train,X_test, y_train, y_test = train_test_split(X_train, y_train, test_size = 0.2, random_state = 19)
model = LinearRegression() # 直接调包进行预测
model.fit(X_train, y_train)
model.predict(X_test[1,:])
如果想要显示model的系数,则:
pd.DataFrame(list(zip(X.columns, np.transpose(model.coef_))))