天天看点

LinearRegression-Python实现线性回归

线性回归算法:寻找一条直线,最大程度的拟合样本特征和样本输出标记之间的关系

衡量线性回归法的指标:MSE(求差的平方),RMSE(MSE求根号)和MAE(求差的绝对值)

RMSE有放大样本中预测结果和真实结果中,较大的差距的趋势;

是直接反应的预测结果和真实结果的差距

from sklearn.metrics import mean_squared_error
from sklearn.metrics import mean_absolute_error
# MSE
mean_squared_errormean_squ (y_test, y_predict)
# MAE
mean_absolute_error(y_test, y_predict)
# 一般选择MSE,为的是能够放大误差
           

最好得衡量指标-R squared

r方小于等于1,r方越大,则其预测效果越好,当我们的预测模型不犯任何错误时,r方得到的最大值为1;

当r方值小于0时,说明我们学习到的模型还不如基准模型;

此时,很有可能我们的数据不存在任何线性关系

r方原理:用自己的模型产生的错误,除以用baseline模型产生的错误,最终的模型其实就是衡量了我们的模型拟合产生的错误

而用1-其式子,就表示了最终的模型拟合没有产生错误的程度

# 简单线性模型
from playML.SimpleLinearRegression import SimpleLinearRegression

reg = SimpleLinearRegression()
reg.fit(x_train, y_train)

reg.a_
reg.b_
y_predict = reg.predict(x_test)
           
# R Square
from sklearn.metrics import r2_score

r2_score(y_test, y_predict)
           
# 线性回归
from sklearn.linear_model import LinearRegression

lin_reg = LinearRegression()
lin_reg.fit(X_train, y_train)
           
lin_reg.coef_
lin_reg.intercept_
lin_reg.score(X_test, y_test)
           

继续阅读