博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DataWhale集成学习Task2--掌握基本的回归模型
阅读量:3949 次
发布时间:2019-05-24

本文共 1510 字,大约阅读时间需要 5 分钟。

构建机器学习项目的流程及对基本回归模型和衍生模型的掌握

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

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

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

任务即为回归

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

import pandas as pdimport numpy as np
from sklearn import datasetsboston = datasets.load_boston()X = boston.data #使用大写X,X包含多个小xy = boston.targetfeatures = boston.feature_namesboston_data = pd.DataFrame(X, columns=features)boston_data["PRICE"] = yboston_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

转载地址:http://xagwi.baihongyu.com/

你可能感兴趣的文章
【SVN】初使用
查看>>
【SVN】初认识
查看>>
【SVN】初实践
查看>>
【C#】返回值为DataTable的数据
查看>>
【C#】DataGriView控件的简单使用
查看>>
【C#】Factory层浅析
查看>>
【XML】基础
查看>>
【XML】文档类型定义
查看>>
【XML】Schema
查看>>
【Asp.net】基本概念
查看>>
【Asp.net】Web服务器控件
查看>>
【Asp.net】内置对象
查看>>
Mac OS 版本历史
查看>>
C语言预处理指令笔记 by STP
查看>>
C语言数据类型笔记 by STP
查看>>
C语言指针笔记 by STP
查看>>
C语言(结构体、枚举、typedef)笔记 by STP
查看>>
Objective-C 零散知识笔记 by STP
查看>>
Category和Protocol笔记 by STP
查看>>
CoreLocation笔记 by STP
查看>>