参见原书 1.1-1.4节

一、惩罚线性回归模型

基本特性:

1.训练时间快,使用训练好的模型进行预测的时间也快
2.应用于高速交易、互联网广告的植入等
3.解决回归、分类问题

最重要的特性:
能明确指出,哪个变量对预测结果最重要

普通最小二乘法(ordinary least squares,OLS)->惩罚回归方法
(OLS主要问题:过拟合)

惩罚回归方法:使自由度与数据规模、问题的复杂度相匹配

核心概念:
1.特征工程/特征提取
选择哪些变量用于对结果的预测

2.自由度
统计学名词,当以样本的统计量估计总体的参数时,样本中独立或能自由变化的自变量的个数
如,一条直线的自由度为2,即需要2个独立的参数才能确定唯一的一条直线
表示方式:与Y轴的交点与斜率

利用2点确定自由度为2的一条直线,可信度并不高

二、集成方法
构建多个不同的预测模型(基学习器),然后将其输出做某种组合作为最终的输出

某些机器学习算法输出结果不稳定->集成方法

通常,将二元决策树作为基学习器
如,x<5?(y=2):(y=1)
Q:判断值5如何产生?输出值y=1,y=2如何产生?

A:基于输入数据的二元决策树的训练

关键在于:如何产生大量的独立预测模型
一种方法 投票(自举集成方法boosting aggregating):先对训练数据随机取样,基于随机数据子集进行训练

确定哪些特征作为预测模型的输入?
试错法,多次迭代

早期阶段,特征过程阶段:
利用惩罚线性回归模型训练,提供基本参考:哪些变量是重要的

核心概念:
1.基学习器
单个预测模型

2.问题的复杂度
数据科学家的任务,如何平衡问题的复杂度、预测模型的复杂度和数据集规模,以获得一个最佳的可部署模型

数据集的规模通常是自由度的倍数关系
因为数据集的规模固定,需要调整模型的自由度

《python机器学习—预测分析核心算法》笔记1的更多相关文章

  1. Java内存区域与内存溢出异常——深入理解Java虚拟机 笔记一

    Java内存区域 对比与C和C++,Java程序员不需要时时刻刻在意对象的创建和删除过程造成的内存溢出.内存泄露等问题,Java虚拟机很好地帮助我们解决了内存管理的问题,但深入理解Java内存区域,有 ...

  2. 深入理解java虚拟机笔记Chapter12

    (本节笔记的线程收录在线程/并发相关的笔记中,未在此处提及) Java内存模型 Java 内存模型主要由以下三部分构成:1 个主内存.n 个线程.n 个工作内存(与线程一一对应) 主内存与工作内存 J ...

  3. 深入理解Java虚拟机笔记

    1. Java虚拟机所管理的内存 2. 对象创建过程 3. GC收集 4. HotSpot算法的实现 5. 垃圾收集器 6. 对象分配内存与回收细节 7. 类文件结构 8. 虚拟机类加载机制 9.类加 ...

  4. 深入理解java虚拟机笔记Chapter7

    虚拟机类的加载机制 概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验.转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类的加载机制. 类加载的时机 J ...

  5. 深入理解java虚拟机笔记之一

    Java的技术体系主要有支撑java程序运行的虚拟机,提供各开发领域接口支持Java API,java编程语言及许多第三方java框架( 如Spring,Structs等)构成. 可以把Java程序设 ...

  6. 深入理解Java虚拟机笔记——虚拟机类加载机制

    目录 概述 动态加载和动态连接 类加载的时机 类的生命周期 被动引用 例子一(调用子类继承父类的字段) 例子二(数组) 例子三(静态常量) 类加载的过程 加载 验证 准备 解析 符号引用 直接引用 初 ...

  7. 【转载】深入理解Java虚拟机笔记---运行时栈帧结构

    栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区的虚拟机栈(Virtual Machine Stack)的栈元素.栈帧存储了方法的局部变量表,操作 ...

  8. 深入理解java虚拟机笔记Chapter8

    运行时栈帧结构 栈帧(Stack Frame)是用于支持虚拟机进行方法调用和方法执行的数据结构,它是虚拟机运行时数据区中的虚拟机栈(Virtual Machine Stack)的栈元素.栈帧存储了方法 ...

  9. 深入理解java虚拟机笔记Chapter2

    java虚拟机运行时数据区 首先获取一个直观的认识: 程序计数器 线程私有.各条线程之间计数器互不影响,独立存储. 当前线程所执行的字节码行号指示器.字节码解释器工作时通过改变这个计数器值选取下一条需 ...

  10. 类文件结构——深入理解Java虚拟机 笔记三

    在之前的笔记中记录过,Java程序变成可执行文件的步骤是:源代码-->经过编译变成class文件-->经过JVM虚拟机变成可执行的二进制文件.因此,为了对JVM执行程序的过程有一个好的了解 ...

随机推荐

  1. sqlserver 字符串截取与拼接

    update yanan set name=name+right(phone,4) where id=56 其中right(phone,4)是截取手机号后四位,left是从左开始截取.name=nam ...

  2. Tomcat服务器的Web安全的解决方法

    .概述 在任何一种WEB应用开发中,不论大中小规模的,每个开发者都会遇到一些需要保护程序数据的问题,涉及到用户的LOGIN ID和PASSWORD.那么如何执行验证方式更好呢?实际上,有很多方式来实现 ...

  3. tcpdump 使用

    例子: 首先切换到root用户 tcpdump -w  aaa.cap   -i eth7   -nn -x  'port  9999'  -c  1 以例子说明参数: -w:输出到文件aaa.cap ...

  4. Curl是什么,原文地址:http://www.phpchina.com/portal.php?mod=view&aid=40161

    Curl是什么PHP supports libcurl, a library created by Daniel Stenberg, that allows you to connect and co ...

  5. Nagios在selinux开启的情况下使用

    # chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/ # chcon -R -t httpd_sys_content_t /usr/loc ...

  6. 20165318 预备作业二 学习基础和C语言基础调查

    20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...

  7. mysql数据库在windows下安装与配置

      mysql是一种开源源代码的关系型数据库系统(RDBMS),使用最常用的数据库管理语言--结构化查询语句(SQL)进行数据库管理. MySQL是开放源代码的,因此任何人都可以在General Pu ...

  8. VS下WPF自定义控件的基本步骤和基本代码实现

    一.自定义控件的基本步骤: (本示例项目名称为:W:添加的自定义控件名称为) 1.  在"解决方案资源管理器"窗口的项目名上: 右击à添加à新建项(Ctrl+Shift+A) 2. ...

  9. sql集锦

    1. emp表中取出1981年入职的员工信息--sql select * from emp where extract(year from emp.hiredate)='1981'; ...陆续添加

  10. JavaBean,List,Map,json格式之间转化方式

    public class TestBean { private String id; private String name; private String password; public Stri ...