DataWhale集成学习Task2--掌握基本的回归模型

一、以线性回归为例使用sklearn构建机器学习项目的完整流程

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

1.明确项目任务:回归/分类

任务即为回归

2.搜集数据集并选择合适的特征

import pandas as pd
import numpy as np
from sklearn import datasets
boston = datasets.load_boston()
X = boston.data #使用大写X,X包含多个小x
y = boston.target
features = boston.feature_names
boston_data = pd.DataFrame(X, columns=features)
boston_data["PRICE"] = y
boston_data.head()

在这里插入图片描述

3.选择度量模型性能的指标

在这里插入图片描述
解释方差得分之前没接触过

4.选择具体的模型并进行训练以优化模型

这里选择线性回归模型

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

5.评估模型的性能并调参

这里可以通过决定系数看出模型的好坏,不过回归模型没有参数可以调整。

二、基本的回归模型及其衍生模型

基本多元线性回归

线性回归假设目标值与特征之间线性相关,即满足一个多元一次方程。通过构建损失函数,来求解损失函数最小时的参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

多项式回归

线性回归中,我们假设因变量与特征之间的关系是线性关系,这样的假设使得模型很简单,但是缺点也是显然的,那就是当数据存在非线性关系时,我们使用线性回归模型进行预测会导致预测性能极其低下,因为模型的形式本身是线性的,无法表达数据中的非线性关系。我们一个很自然的想法就是去推广线性回归模型,使得推广后的模型更能表达非线性的关系。
在这里插入图片描述
交互项问题
在这里插入图片描述
在这里插入图片描述

  1. 两个连续变量构造的交互项
  2. 两个虚拟变量构造的交互项
  3. 连续变量与虚拟变量构造的交互项
  4. 模型低次项的检验必须在高次项(交互项)检验前完成
  5. 若引入交互项后,即使低次项不显著也要保留

广义可加模型(GAM)

通过一些变换,让原本不服从线性关系的响应变量解释变量,转换成线性关系,广义可加模型GAM实际上是线性模型推广至非线性模型的一个框架,在这个框架中,每一个变量都用一个非线性函数来代替,但是模型本身保持整体可加性。GAM模型不仅仅可以用在线性回归的推广,还可以将线性分类模型进行推广。具体的推广形式是:
在这里插入图片描述
线性分类模型的推广主要指的是两类逻辑回归模型。

回归树

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
树模型的优缺点:

  • 树模型的解释性强,在解释性方面可能比线性回归还要方便。
  • 树模型更接近人的决策方式。 树模型可以用图来表示,非专业人士也可以轻松解读。
  • 树模型可以直接做定性的特征而不需要像线性回归一样哑元化。
  • 树模型能很好处理缺失值和异常值,对异常值不敏感,但是这个对线性模型来说却是致命的。
  • 树模型的预测准确性一般无法达到其他回归模型的水平,但是改进的方法很多。

支持向量回归SVR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值