机器学习-线性回归(详细步骤)

目录

一、单特征建模

二、plotly

三、多特征建模(2维)

四、非线性建模

参考文献


一、单特征建模

1.数据处理

    1.数据集分类

         1.从路径导入数据集

         2.将数据集分为训练集和验证集

         3.再根据训练集和验证集中特征的名字,对数据进行存储

         4. 画出分好的数据集,观察有无问题

    2.归一化处理(均值是为了让数据在原点对称,标准差是为了让数据映射到-1到1之间,有利于计算。

2.训练

     1.设置迭代次数,学习率

     2.利用梯度下降法进行迭代(开始进入for循环)

                  1.统计样本总量。

                  2.根据初始化的θ得到预测值,再减去真实值,得到误差。

                  3.计算θ,采用小批量梯度下降法,批量梯度下降法和随机梯度下降法等(此处用小批量梯度下降法)

                             \Theta _{j}=\Theta _{j}-\alpha \frac{1}{m}\sum_{i=1}^{m}\left ( h_{\Theta }\left (x^{\left ( k \right )} \right )- y^{(k)}\right )x_{j}^{(k)}

                    式中,θ是需要学习的参数,α是学习率,m是样本总数,h(x)是预测值,y是真实值,x是样本

                  4.用更新后的θ值,重复步骤2,步骤3

                  5.迭代次数结束后输出结果,θ,loss value 

                 补充:再步骤3计算θ的同时,也再计算损失函数(自己定义),每次迭代的损失函数都要存储,最后输出迭代结果,有疑惑的一点是,之前一直以为损失函数是作为目标函数用梯度下降法求解,但这里只需要预测值和真实值的差值即可,而损失函数是两者差值的另一种表现形式,只是用来显示训练的效果。

 3.可视化输出

定义:根据最后的参数,合理选定一些输入值,得到预测线(二维),面(三维) 。

二、plotly

定义:python的可交互式可视化库

使用:从GitHub打开plotly找到相应案例复制到自己代码中,改动后使用,能省事就不要费事。

三、多特征建模(2维)

区别(单特征):步骤和(一)一样,只是多了一组特征,视频中单特征和多特征都是直接条用linear_regression = LinearRegression(x_train,y_train);其中x_train是输入,是1维也能是多维,这个侯旭需要加深理解。

四、非线性建模

定义:利用一些函数,增加输入特征的多样性,进行非线性拟合

解释:从代码上看,线性特征建模,polynomial_degree = 0,sinusoid_degree=0,在视频程序中经过以下两项处理后,输入特征变成152维。

                polynomial_degree = 15 # 多项式处理,对特征进行多样化处理
                sinusoid_degree = 15 # 对特征进行sin非线性变换

最后:代码找参考文献的视频up主(免费,很全)

参考文献

1.9-多特征回归模型_哔哩哔哩_bilibili

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值