集成学习——回归

这篇博客介绍了回归分析在机器学习中的应用,包括回归任务的定义、使用sklearn构建回归项目的步骤、线性回归模型的原理和推广,以及与其他模型如回归树和支持向量机回归的对比。此外,还探讨了线性回归的最小二乘估计和多项式回归的局限性,并给出了相关作业和参考资料。
摘要由CSDN通过智能技术生成

导论

  • 在这里插入图片描述

  • 根据因变量的是否连续,有监督学习又分为回归分类

    • 回归:因变量是连续型变量,如:房价,体重等。

      例子: Boston房价数据集

      from sklearn import datasets
      boston = datasets.load_boston()
      X = boston.data
      y = boston.target
      features = boston.feature_names
      
    • 分类:因变量是离散型变量,如:是否患癌症,西瓜是好瓜还是坏瓜等。

      例子:iris鸢尾花数据集

      from sklearn import datasets
      iris = datasets.load_iris()
      X = iris.data
      y = iris.target
      features = iris.feature_names
      

使用sklearn构建完整的机器学习项目流程

  • 步骤:
    • 明确项目任务:回归/分类
    • 收集数据集并选择合适的特征。
    • 选择度量模型性能的指标。
    • 选择具体的模型并进行训练以优化模型。
    • 评估模型的性能并调参。

使用sklearn构建完整的回归项目

  • 收集数据集并选择合适的特征

  • 选择度量模型性能的指标:

    • MSE均方误差: MSE ( y , y ^ ) = 1 n samples ∑ i = 0 n samples − 1 ( y i − y ^ i ) 2 . \text{MSE}(y, \hat{y}) = \frac{1}{n_\text{samples}} \sum_{i=0}^{n_\text{samples} - 1} (y_i - \hat{y}_i)^2. MSE(y,y^)=nsamples1i=0nsamples1(yiy^i)2.
    • MAE平均绝对误差: MAE ( y , y ^ ) = 1 n samples ∑ i = 0 n samples − 1 ∣ y i − y ^ i ∣ \text{MAE}(y, \hat{y}) = \frac{1}{n_{\text{samples}}} \sum_{i=0}^{n_{\text{samples}}-1} \left| y_i - \hat{y}_i \right| MAE(y,y^)=nsamples1i=0nsamples1yiy^i
    • R 2 R^2 R2决定系数: R 2 ( y , y ^ ) = 1 − ∑ i = 1 n ( y i − y ^ i ) 2 ∑ i = 1 n ( y i − y ˉ ) 2 R^2(y, \hat{y}) = 1 - \frac{\sum_{i=1}^{n} (y_i - \hat{y}_i)^2}{\sum_{i=1}^{n} (y_i - \bar{y})^2} R2(y,y^)=1i=1n(yiyˉ)2i=1n(yiy^i)2
    • 解释方差得分: e x p l a i n e d _ v a r i a n c e ( y , y ^ ) = 1 − V a r { y − y ^ } V a r { y } explained\_{}variance(y, \hat{y}) = 1 - \frac{Var\{ y - \hat{y}\}}{Var\{y\}} explained_variance(y,y^)=1Var{ y}Var{ yy^}
  • 选择具体的模型并进行训练

    • 线性回归模型:

      假设目标值与特征之间线性相关,即满足一个多元一次方程。通过构建损失函数,来求解损失函数最小时的参数w :

      假设:数据集 D = { ( x 1 , y 1 ) , . . . , ( x N , y N ) } D = \{(x_1,y_1),...,(x_N,y_N) \} D={ (x1,y1),...,(xN,yN)} x i ∈ R p , y i ∈ R , i = 1 , 2 , . . . , N x_i \in R^p,y_i \in R,i = 1,2,...,N xiRp,yiR,i=1,2,...,N X = ( x 1 , x 2 , . . . , x N ) T , Y = ( y 1 , y 2 , . . . , y N ) T X = (x_1,x_2,...,x_N)^T,Y=(y_1,y_2,...,y_N)^T X=(x1,x2,...,xN)T,Y=(y1,y2,...,yN)T

      假设X和Y之间存在线性关系,模型的具体形式为 y ^ = f ( w ) = w T x \hat{y}=f(w) =w^Tx y^=f(w)=wTx

      from sklearn import linear_model      # 引入线性回归方法
      lin_reg = linear_model.LinearRegression()       # 创建线性回归的类
      lin_reg.fit(X,y)        # 输入特征X和因变量y进行训练
      print("模型系数:",lin_reg.coef_)             # 输出模型的系数
      print("模型得分:",lin_reg.score(X,y))    # 输出模型的决定系数R^2
      
    • 最小二乘估计:

      衡量真实值 y i y_i yi与线性回归模型的预测值 w T x i w^Tx_i wTx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值