IBM Machine Learning学习笔记(二)——Supervised Learning: Regression
文章目录
- 一、Introduction to Supervised Machine Learning
- 二、Data Splits and Cross Validation
- 三、Regression with Regularization Techniques
线性回归比较简单,只记录一下遇到的以前没见过的点
一、Introduction to Supervised Machine Learning
线性回归函数sklearn.linear_model.LinearRegression
除了MSE以外的计算误差的方法R^2
sklearn.metrics.r2_score
,其主要组成如下:- SSE(sum of squared error):误差平方和
- TSS(total sum of squares):整体方差
- R^2(coefficient of determination)
判断数据分布是否符合正态分布的方法:
- 可视化
dataframe.hist
- 使用scipy的normaltest函数
scipy.stats.mstats.normaltest
,该函数输出一个p值,p值越大表示越接近正如态分布,一般来讲,p大于0.05可视为符合正态分布
- 可视化
让数据分布变为正态分布的几种方法:
- log变换
np.log
- 开平方
np.sqrt
- box-cox变换
scipy.stats.boxcox
- log变换
在进行预测时应使用和训练集一样的变换方式,即训练集使用
fit_transform
,测试集直接使用transform
。另外对于预测值,如果之前对标签进行了例如box-cox变换,需要对预测的标签进行scipy.special.inv_boxcox
变换
二、Data Splits and Cross Validation
训练集、测试集划分函数
sklearn.model_selection.train_test_split
,其他划分方法sklearn.model_selection.ShuffleSplit
交叉验证函数
sklearn.model_selection.cross_val_score
,修改其中的cv参数可以有如下几种方式,默认为k折交叉验证:分层交叉验证(Stratified k-fold cross validation)
sklearn.model_selection.StratifiedKFold
:首先它属于交叉验证类型,分层的意思是说在每一折中都保持着原始数据中各个类别的比例关系,比如说:原始数据有3类,比例为1:2:1,采用3折分层交叉验证,那么划分的3折中,每一折中的数据类别保持着1:2:1的比例,这样的验证结果更加可信。留一法(LeaveOneOut)
sklearn.model_selection.LeaveOneOut
:是一种特殊的交叉验证方式。顾名思义,如果样本容量为n,则k=n,进行n折交叉验证,每次留下一个样本进行验证。主要针对小样本数据。
sklearn中的pipeline函数
sklearn.pipeline.Pipeline
:可以将多种对数据进行的操作整合到一起。Pipeline对象接受二元tuple构成的list,每一个二元 tuple 中的第一个元素为 arbitrary identifier string,我们用以获取(access)Pipeline object 中的 individual elements,二元 tuple 中的第二个元素是 scikit-learn与之相适配的transformer 或者 estimator。一般可以包括标准化、PCA、模型等等。cross_val_predict函数
sklearn.model_selection.cross_val_predict
:得到经过K折交叉验证计算得到的每个训练验证的输出预测网格搜索
sklearn.model_selection.GridSearchCV
三、Regression with Regularization Techniques
- 岭回归(Ridge Regression):带有L2正则化的线性回归
- Lasso回归(Lasso Regression):带有L1正则化的线性回归
- 弹性网(Elastic Net):结合L1正则化和L2正则化的线性回归
- Recursive Feature Elimination(RFE):
sklearn.feature_selection.RFE
是一种去除不重要特征的方法,具体操作是给定模型结构和准备舍弃的特征数量,送入RFE方法后就会得到新的模型。
IBM Machine Learning学习笔记(二)——Supervised Learning: Regression相关推荐
- 【Deep Learning学习笔记】Deep learning for nlp without magic_Bengio_ppt_acl2012
看完180多页的ppt,真心不容易.记得流水账如下: Five reason to explore Deep Learning: 1. learning representation; 2. the ...
- [FML]学习笔记二 PAC Learning Model
对于一个concept class C,如果存在一个算法A和一个多项式poly(.,.,.,.),有对于任意的ε>0.δ>0以及X的任意分布D和任何target concept C,当sa ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding
台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding
- 台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction
台大李宏毅Machine Learning 2017Fall学习笔记 (14)Unsupervised Learning:Linear Dimension Reduction 本博客整理自: http ...
- 台大李宏毅Machine Learning 2017Fall学习笔记 (13)Semi-supervised Learning
台大李宏毅Machine Learning 2017Fall学习笔记 (13)Semi-supervised Learning 本博客参考整理自: http://blog.csdn.net/xzy_t ...
- 【Machine Learning 学习笔记】Stochastic Dual Coordinate Ascent for SVM 代码实现
[Machine Learning 学习笔记]Stochastic Dual Coordinate Ascent for SVM 代码实现 通过本篇博客记录一下Stochastic Dual Coor ...
- 【Machine Learning 学习笔记】feature engineering中noisy feature的影响
[Machine Learning 学习笔记]feature engineering中noisy feature的影响 通过本篇博客记录一下添加噪声对Lasso和SVM的影响,采用的数据集为sklea ...
- 笔记 | 吴恩达Coursera Deep Learning学习笔记
向AI转型的程序员都关注了这个号☝☝☝ 作者:Lisa Song 微软总部云智能高级数据科学家,现居西雅图.具有多年机器学习和深度学习的应用经验,熟悉各种业务场景下机器学习和人工智能产品的需求分析.架 ...
- PyTorch学习笔记(二)——回归
PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...
- 强化学习笔记二 -- MDP
Reinforcement Learning学习笔记 Lecture 2 笔记基于David Silver 的上课内容及PPT. 视频地址(B站中文字幕):https://www.bilibili.c ...
最新文章
- 火狐浏览器允许ajax,解决火狐浏览器发送jquery的ajax请求无效的问题
- ReactiveCocoa
- 职工信息管理程序设计c语言,C语言程序设计职工信息管理系统.docx
- SQL中的left outer join,inner join,right outer join用法
- python函数调用语句_Python函数定义和函数调用
- 03-1.JavaScript基础语法略写/模版字符串
- 计算机 - 网络原理
- 刀片 显卡 排行_AMD发布RadeonRX6000系列游戏显卡 4599元起
- 项目交接文档_项目管理反思
- Java开发全套学习!java判断字符串中是否包含中文
- [poj2451]Uyuw's Concert
- WPF/Silverlight 控件的几幅继承关系图
- 数据结构学习笔记-树
- c语言 java 嵌入式_嵌入式C语言编译器
- SIM868烧写自己MT2503开发的程序过程
- 恶意抢注商标的认定标准是什么?商标被抢注怎么解决?
- Python实现日程表
- idea查看类层级hierarchy快捷键
- (附源码)计算机毕业设计SSM装修信息分享管理系统
- 单片机51 流水灯基本程序
热门文章
- Linux CTRL+ALT+DELETE
- 浅谈Entity Framework中的数据加载方式
- 一步一个脚印学习WCF系列之WCF概要—WCF与SOA(二)
- 如何将两个php超链接,php超链接跳转
- java servlet乱码问题_Java编码和servlet乱码问题(1)-Java编码
- 计算机应用技术专业考试试题,全国专业技术人员计算机应用能力考试模拟试题笔试题.docx...
- or导致索引失效的解决方法_电容引脚断裂失效的机理和解决方法
- 为什么c语言一用windows.h就报错_C代码里面加一行网址依然可以运行,并不会报错,为何...
- ipv6地址在线计算_关于IPv6的八个浅言问答
- 接口测试 Seldom 2.0 - 让接口自动化测试更简单