机器学习“傻瓜式”理解(5)线性回归(简单+评估+多元)

1.基础理解:

先来讲解简单线性回归,通过一张图基础理解一下:
简单线性回归基础理解
通过对上图的理解我们可以简单概括一下简单线性回归:
只有一个特征,在多个数据集中我们尽可能的寻找一条直线能够最大程度的拟合这些数据,正如图片中所示,我们寻找除了一个目标函数,也就是损失函数,来最小化我们预测值与真实值之间的误差。
总结线性回归的特点可得到:
①线性回归如其名,主要用于解决回归问题,并且它是许多非线性回归模型的基础。
②线性回归模型的实现与推导背后有大量的数学做支撑,计算机实现较为简单。
③线性回归模型最终得出的预测结果具有很强的解释性。
下面明确参数a与b的公式推导过程:
在这里插入图片描述
求b:
在这里插入图片描述
求解a:
在这里插入图片描述封装简单线性回归:

import numpy as np
'''value the model precision'''
from sklearn.metrics import r2_score

class SimpleLinearRegression:
    def __init__(self):
        self.a_ = None
        self.b_ = None

    def fit(self,X_train,y_train):
        '''check'''
        assert X_train.ndim == 1,"the dimension must be 1"
        assert len(X_train)== len(y_train),\
                "the size must be valid"

        x_mean = np.mean(X_train)
        y_mean = np.mean(y_train)

        self.a_ = ((X_train - x_mean).dot(y_train - y_mean)) / ((X_train - x_mean).dot(X_train - x_mean))
        self.b_ = y_mean - (self.a_ * x_mean)

        return self

    def 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值