当前位置: 首页 > 编程日记 > 正文

资料分享:送你一本《机器学习实战》电子书!

这两天,各985高校发布了考研初试分数线。从中发现这两年大数据相关专业的分数线暴涨啊。没有400分估计心里都没底啊。可见大数据这个领域有多火爆!而机器学习是我们团队的一个主要方向,新加入的同学通常都是从《机器学习实战》这本书开始入门的。

所以,我把这本书的电子版分享给大家,可以作为入门教材,希望能够对大数据、机器学习感兴的同学有益。当然,这本书在网上有开源的电子版,其特点是简化了案例背景的介绍,而在每个算法后面加入了作者的理解,大家可以对照着来学习。其网址如下:

https://ailearning.apachecn.org/#/

机器学习实战 开源电子书


目录

第一部分 分类

第1章 机器学习基础

  • 1.1 何谓机器学习
  • 传感器和海量数据
  • 机器学习非常重要
  • 1.2 关键术语
  • 1.3 机器学习的主要任务
  • 1.4 如何选择合适的算法
  • 1.5 开发机器学习应用程序的步骤
  • 1.6 Python语言的优势
  • 可执行伪代码
  • Python比较流行
  • Python语言的特色
  • Python语言的缺点
  • 1.7 NumPy函数库基础
  • 1.8 本章小结

第2章 k-近邻算法

  • 2.1 k-近邻算法概述
  • 准备:使用Python导入数据
  • 从文本文件中解析数据
  • 如何测试分类器
  • 2.2 示例:使用k-近邻算法改进约会网站的配对效果
  • 准备数据:从文本文件中解析数据
  • 分析数据:使用Matplotlib创建散点图
  • 准备数据:归一化数值
  • 测试算法:作为完整程序验证分类器
  • 使用算法:构建完整可用系统
  • 2.3 示例:手写识别系统
  • 准备数据:将图像转换为测试向量
  • 测试算法:使用k-近邻算法识别手写数字
  • 2.4 本章小结

第3章 决策树

  • 3.1 决策树的构造
  • 信息增益
  • 划分数据集
  • 递归构建决策树
  • 3.2 在Python中使用Matplotlib注解绘制树形图
  • Matplotlib注解
  • 构造注解树
  • 3.3 测试和存储分类器
  • 测试算法:使用决策树执行分类
  • 使用算法:决策树的存储
  • 3.4 示例:使用决策树预测隐形眼镜类型
  • 3.5 本章小结

第4章 基于概率论的分类方法:朴素贝叶斯

  • 4.1 基于贝叶斯决策理论的分类方法
  • 4.2 条件概率
  • 4.3 使用条件概率来分类
  • 4.4 使用朴素贝叶斯进行文档分类
  • 4.5 使用Python进行文本分类
  • 准备数据:从文本中构建词向量
  • 训练算法:从词向量计算概率
  • 测试算法:根据现实情况修改分类器
  • 准备数据:文档词袋模型
  • 4.6 示例:使用朴素贝叶斯过滤垃圾邮件
  • 准备数据:切分文本
  • 测试算法:使用朴素贝叶斯进行交叉验证
  • 4.7 示例:使用朴素贝叶斯分类器从个人广告中获取区域倾向
  • 收集数据:导入RSS源
  • 分析数据:显示地域相关的用词
  • 4.8 本章小结

第5章 Logistic回归

  • 5.1 基于Logistic回归和Sigmoid函数的分类
  • 5.2 基于最优化方法的最佳回归系数确定
  • 梯度上升法
  • 训练算法:使用梯度上升找到最佳参数
  • 分析数据:画出决策边界
  • 训练算法:随机梯度上升
  • 5.3 示例:从疝气病症预测病马的死亡率
  • 准备数据:处理数据中的缺失值
  • 测试算法:用Logistic回归进行分类
  • 5.4 本章小结

第6章 支持向量机

  • 6.1 基于最大间隔分隔数据
  • 6.2 寻找最大间隔
  • 分类器求解的优化问题
  • SVM应用的一般框架
  • 6.3 SMO高效优化算法
  • Platt的SMO算法
  • 应用简化版SMO算法处理小规模数据集
  • 6.4 利用完整Platt SMO算法加速优化
  • 6.5 在复杂数据上应用核函数
  • 利用核函数将数据映射到高维空间
  • 径向基核函数
  • 在测试中使用核函数
  • 6.6 示例:手写识别问题回顾
  • 6.7 本章小结

第7章 利用AdaBoost元算法提高分类性能

  • 7.1 基于数据集多重抽样的分类器
  • bagging:基于数据随机重抽样的分类器构建方法
  • boosting
  • 7.2 训练算法:基于错误提升分类器的性能
  • 7.3 基于单层决策树构建弱分类器
  • 7.4 完整AdaBoost算法的实现
  • 7.5 测试算法:基于AdaBoost的分类
  • 7.6 示例:在一个难数据集上应用AdaBoost
  • 7.7 非均衡分类问题
  • 其他分类性能度量指标:正确率、召回率及ROC曲线
  • 基于代价函数的分类器决策控制
  • 处理非均衡问题的数据抽样方法
  • 7.8 本章小结

第二部分 利用回归预测数值型数据

第8章 预测数值型数据:回归

  • 8.1 用线性回归找到最佳拟合直线
  • 8.2 局部加权线性回归
  • 8.3 示例:预测鲍鱼的年龄
  • 8.4 缩减系数来“理解”数据
  • 岭回归
  • lasso
  • 前向逐步回归
  • 8.5 权衡偏差与方差
  • 8.6 示例:预测乐高玩具套装的价格
  • 收集数据:使用Google购物的API
  • 训练算法:建立模型
  • 8.7 本章小结

第9章 树回归

  • 9.1 复杂数据的局部性建模
  • 9.2 连续和离散型特征的树的构建
  • 9.3 将CART算法用于回归
  • 构建树
  • 运行代码
  • 9.4 树剪枝
  • 预剪枝
  • 后剪枝
  • 9.5 模型树
  • 9.6 示例:树回归与标准回归的比较
  • 9.7 使用Python的Tkinter库创建GUI
  • 用Tkinter创建GUI
  • 集成Matplotlib和Tkinter
  • 9.8 本章小结

第三部分 无监督学习

第10章 利用K-均值聚类算法对未标注数据分组

  • 10.1 K-均值聚类算法
  • 10.2 使用后处理来提高聚类性能
  • 10.3 二分K-均值算法
  • 10.4 示例:对地图上的点进行聚类
  • Yahoo! PlaceFinder API
  • 对地理坐标进行聚类
  • 10.5 本章小结

第11章 使用Apriori算法进行关联分析

  • 11.1 关联分析
  • 11.2 Apriori原理
  • 11.3 使用Apriori算法来发现频繁集
  • 生成候选项集
  • 组织完整的Apriori算法
  • 11.4 从频繁项集中挖掘关联规则
  • 11.5 示例:发现国会投票中的模式
  • 收集数据:构建美国国会投票记录的事务数据集
  • 测试算法:基于美国国会投票记录挖掘关联规则
  • 11.6 示例:发现毒蘑菇的相似特征
  • 11.7 本章小结

第12章 使用FP-growth算法来高效发现频繁项集

  • 12.1 FP树:用于编码数据集的有效方式
  • 12.2 构建FP树
  • 创建FP树的数据结构
  • 构建FP树
  • 12.3 从一棵FP树中挖掘频繁项集
  • 抽取条件模式基
  • 创建条件FP树
  • 12.4 示例:在Twitter源中发现一些共现词
  • 12.5 示例:从新闻网站点击流中挖掘
  • 12.6 本章小结

第四部分 其他工具

第13章 利用PCA来简化数据

  • 13.1 降维技术
  • 13.2 PCA
  • 移动坐标轴
  • 在NumPy中实现PCA
  • 13.3 示例:利用PCA对半导体制造数据降维
  • 13.4 本章小结

第14章 利用SVD简化数据

  • 14.1 SVD的应用
  • 隐性语义索引
  • 推荐系统
  • 14.2 矩阵分解
  • 14.3 利用Python实现SVD
  • 14.4 基于协同过滤的推荐引擎
  • 相似度计算
  • 基于物品的相似度还是基于用户的相似度?
  • 推荐引擎的评价
  • 14.5 示例:餐馆菜肴推荐引擎
  • 推荐未尝过的菜肴
  • 利用SVD提高推荐的效果
  • 构建推荐引擎面临的挑战
  • 14.6 基于SVD的图像压缩
  • 14.7 本章小结

第15章 大数据与MapReduce

  • 15.1 MapReduce:分布式计算的框架
  • 15.2 Hadoop流
  • 分布式计算均值和方差的mapper
  • 分布式计算均值和方差的reducer
  • 15.3 在Amazon网络服务上运行Hadoop程序
  • AWS上的可用服务
  • 开启Amazon网络服务之旅
  • 在EMR上运行Hadoop作业
  • 15.4 MapReduce上的机器学习
  • 15.5 在Python中使用mrjob来自动化MapReduce
  • mrjob与EMR的无缝集成
  • mrjob的一个MapReduce脚本剖析
  • 15.6 示例:分布式SVM的Pegasos算法
  • Pegasos算法
  • 训练算法:用mrjob实现MapReduce版本的SVM
  • 15.7 你真的需要MapReduce吗?
  • 15.8 本章小结

附录A Python入门

附录B 线性代数

附录C 概率论复习

附录D 资源

索引

版权声明


推荐阅读

  • 如何利用 C# 实现 K 最邻近算法?
  • 如何利用 C# 实现 K-D Tree 结构?

下载《机器学习实战》

关注公众号,后台回复

20190313

相关文章:

HDU 6091 - Rikka with Match | 2017 Multi-University Training Contest 5

思路来自 某FXXL 不过复杂度咋算的.. /* HDU 6091 - Rikka with Match [ 树形DP ] | 2017 Multi-University Training Contest 5 题意&#xff1a;给出N个点的树&#xff0c;求去边的方案数使得 去边后最大匹配数是M的倍数限制&#xff1a; N<5e4, M<200 分析&#xff…

在别的电脑上运行cg程序出现错误的解决办法

错误&#xff1a;没有找到cg.dll&#xff0c;因为这个应用程序未能启动。重新安装应用程序可能会修复此问题 解决方法&#xff1a;复制cg.dll到system32 、debug中 错误&#xff1a;没有找到cgGL.dll&#xff0c;因为这个应用程序未能启动。重新安装应用程序可能会修复此问题 解…

HTML在网页设计中是什么作用?

HTML是一种超文本传输协议&#xff0c;规定了浏览器与服务端之间数据传输的格式&#xff0c;是一种标识性的代码语言&#xff0c;它的中文翻译是“超文本标记语言”&#xff0c;主要是通过HTML标签对网页中的文本、图片、声音等内容进行描述。HTML提供了许多标签&#xff0c;如…

如何实现链接只能被点击一次

有时候&#xff0c;只希望网站某个链接只能被点击一次&#xff0c;怎么做呢&#xff1f;下面给出3中方法&#xff01;第一种&#xff1a;利用JS在点击后把href变成#把taget变成空。 <p><a onclick"var that this;setTimeout(function(){that.removeAttribute(hr…

匿名类型和Object转换

.net中的匿名类型非常好用&#xff0c; 但是开发中遇到一个问题&#xff0c;当把匿名类型作为返回值的时候&#xff0c;会变成object类型&#xff0c;如果才能再转换能对应的匿名类型呢? 1 //返回匿名类型的函数, 会转换成object类型2 object ReturnAnonymous() {3 retur…

资料分享:送你一本《数据结构(C#语言版)》电子书!

对于信息类专业的学生而言&#xff0c;数据结构与算法是一门必修的课程。只有学好这门课程&#xff0c;熟练掌握线性表、栈、队列、树、图等基本结构&#xff0c;以及在这些结构上的各种算法&#xff0c;才能利用计算机去解决实际问题。 如何学好这门课程呢&#xff0c;给大家…

新手入门API测试必要了解的知识

什么是API?API是Application Programming Interface的简写。实现了两个或多个独立系统或模块间的通信和数据交换能力。 什么是API测试?API测试是不同于UI级自动化测试&#xff0c;其主要关注在系统架构的业务逻辑层&#xff0c;所以其主要关注不在于UI操作或用户感观上&#…

java监控多个线程的实现

场景&#xff1a;需要启动多线程处理事情&#xff0c;而在所有事情做完之后&#xff0c;需要修改系统状态&#xff1b;那么如何判断所有线程&#xff08;事情&#xff09;都做完了呢&#xff1f;这就需要判断所有当前运行的线程状态了。 代码 importjava.util.concurrent.Count…

如何利用 C# 实现神经网络的感知器模型?

前几天我们介绍了 如何利用 C# 对神经网络模型进行抽象&#xff0c;在这篇图文中&#xff0c;我们抽象了单个神经元 Neuro&#xff0c;网络层 Layer&#xff0c;网络结构 Network&#xff0c;激活函数 IActivationFunction&#xff0c;以及监督学习 ISupervisedLearning 和非监…

JPA增删改查,

2019独角兽企业重金招聘Python工程师标准>>> 1. //And --- 等价于 SQL 中的 and 关键字 public List<User> findByHeightAndSex(int height,char sex); 2. // Or --- 等价于 SQL 中的 or 关键字 public List<User> findByHeightOrSex(int height,cha…

Java新手会遇到的三大误区,一定要避免!

很多学习java技术的学员都是零基础学员&#xff0c;之前对java技术一点都不了解&#xff0c;所以java新手在学习java技术的时候很容易进入误区&#xff0c;下面小编分享的Java新手会遇到的三大误区&#xff0c;一定要避免! 作为目前最为广泛的网络编程语&#xff0c;Java凭借其…

[ACM] hdu 1253 胜利大逃亡 (三维BFS)

胜利大逃亡 Problem DescriptionIgnatius被魔王抓走了,有一天魔王出差去了,这但是Ignatius逃亡的好机会.魔王住在一个城堡里,城堡是一个A*B*C的立方体,能够被表示成A个B*C的矩阵,刚開始Ignatius被关在(0,0,0)的位置,离开城堡的门在(A-1,B-1,C-1)的位置,如今知道魔王将在T分钟后…

如何利用 C# 爬取带 Token 验证的网站数据?

在对文本数据的情感分析中&#xff0c;基于情感词典的方法是最简单也是最常用的一种了。 它的大体思路如下&#xff1a; 对文档分词&#xff0c;找出文档中的情感词、否定词以及程度副词&#xff0c;然后判断每个情感词之前是否有否定词及程度副词&#xff0c;将它之前的否定…

多线程显示运行状态

最近碰见一个例子&#xff0c;Copy大文件或者网络访问的时候处理假死。 那就用多线程加个进度条(只显示运行&#xff0c;没有进度)来表示状态运行吧。好了&#xff0c;废话少说&#xff0c;上个例子。先看结果图&#xff1a; 程序说明&#xff1a; 点击Button&#xff0c;运行…

【Python培训基础知识】单例模式

单例模式是保证一个类仅有一个实例的设计模式。Windows中的任务管理器就是一个典型的单例模式软件。Windows任务管理器如图所示。 Windows任务管理器只能打开一个&#xff0c;即使用户重复打开&#xff0c;也只能获得一个实例&#xff0c;这不同于Word等软件可以打开多个实例。…

Android读写XML(上)

XML 经常用作 Internet 上的一种数据格式&#xff0c;其文件格式想必大家都比较清楚&#xff0c;在这里我结合Android平台&#xff0c;来说明Android SDK提供的读写XML的package。 首先介绍下Android SDK与Java SDK在读写XML文件方面&#xff0c;数据包之间的关系。Android 平台…

Lighttpd1.4.20源代码分析 笔记 状态机之错误处理和连接关闭

这里所说的错误有两种&#xff1a; 1.http协议规定的错误&#xff0c;如404错误。 2.server执行过程中的错误。如write错误。 对于http协议规定的错误&#xff0c;这里的“错误”是针对client的。lighttpd返回相应的错误提示文件之后&#xff0c;相当于顺利的完毕了一次请求&…

资料分享:送你一本《数据结构(C语言版)》电子书!

要想写出可复用、可扩展、易维护、灵活性好的代码&#xff0c;「数据结构」这一关必须要过啊&#xff01; 在数据结构与算法的众多教材中&#xff0c;奉为经典的当属清华大学严蔚敏老师的著作。很多学校也选择这本书作为考研指定教材。 正在学习数据结构与算法这门课程的同学…

零基础学python培训需要学习多久?

Python是一种入门比较简单的编程语言&#xff0c;但是如果是零基础学员&#xff0c;学习起来还是需要时间的&#xff0c;那么零基础学python培训需要学习多久呢?我们来看看小编的详细介绍吧。 零基础学python培训需要学习多久? 现在的培训机构&#xff0c;一般Python的培训时…

拖动无标题窗体

方法一&#xff1a; 当用户点击窗体的时候欺骗系统&#xff0c;用户是点在标题栏上&#xff0c;这样就完成了无标题栏窗体的拖动&#xff0c;实现如下&#xff1a; 在 MESSAGE_HANDLER(WM_NCHITTEST, OnNcHitTest) 这个函数的方法里 &#xff1a; LRESULT CNyWnd::OnNcHitTest(…

如何利用 C# 爬取Gate.io交易所的公告!

对于大部分程序员来说&#xff0c;都希望自己或多或少拥有一些比特币&#xff08;BTC&#xff09;。获取 BTC 的途径除了挖矿计算 Hash 值之外&#xff0c;就是去交易所购买了。 由于 BTC 的价格波动非常剧烈&#xff0c;入手 BTC 的时机就显得尤为关键。在交易所搞活动时入手…

人的原罪、本我和超我

摘自&#xff1a;https://www.zhihu.com/question/31362451/answer/51606300人的原罪的存在&#xff0c;因为人人皆有&#xff0c;所以在潜意识中&#xff0c;形成了对本我的接纳&#xff0c;而神爱世人与宽恕的存在&#xff0c;形成了本我与超我的良性互动。 在这样的关系中&a…

软件测试的准入准出是什么?标准是什么?

测试的准入准出是指什么情况下可以开始当前版本的测试工作&#xff0c;什么情况下可以结束当前版本的测试工作。不同项目、不同公司的测试准入准出标准都会有所不同。下面介绍一些通用的测试准入准出标准。 测试准入标准如下&#xff1a; (1)开发编码结束&#xff0c;开发人员在…

如何利用 C# 爬取 One 持有者返利数据!

去年&#xff0c;10月份写过一篇图文 「One」的投资价值分析&#xff0c;多半年过去了&#xff0c;回头看看当时的判断还是合理的。 投资这种事情需要有自己的策略&#xff0c;更需要理性。任何决策都需要以数据作为判断的基础&#xff0c;哪么是否还继续持有 ONE呢&#xff1f…

04.微博消息的语言检测

04.微博消息的语言检测 郑昀 201010 隶属于《02.数据解析》小节 大意是&#xff0c;封装Google语言检测ajax web service的接口&#xff0c;输入一段话&#xff0c;输出语言种类。这个方法是从RssMeme.com看来的&#xff0c;经测试效果还不错&#xff0c;可用于检测微博客消息的…

CIO时代学院院长姚乐:传统行业遇上大数据 拥抱智能化未来

近几年&#xff0c;互联网行业发展突飞猛进&#xff0c;“大数据”技术瞬间变得炙手可热&#xff0c;当然&#xff0c;对于发展中的大数据技术而言&#xff0c;很多行业都不会错失良机。近日&#xff0c;CIO时代学院院长、中国新一代IT产业推进联盟秘书长姚乐在“2016CIO时代中…

自动化测试的优势和局限性有哪些

自动化测试只是众多测试中的一种&#xff0c;并不比人工测试更高级更先进。和人工测试相比自动化测试有一定的优势和劣势&#xff0c;具体如下。 1.优势 (1)自动化测试具有一致性和重复性的特点&#xff0c;而且测试更客观&#xff0c;提高了软件测试的准确度、精确度和可信任度…

也分享一个存储过程代码生成器 开源

可以通过 FILE>OPTION 修改前缀&#xff0c;作者等信息。。。。。 完全傻瓜式应用&#xff0c;开源&#xff0c;方便进行个性化开发。。。 工具地址&#xff1a;http://spgen.codeplex.com/ Stored Procedure Generator (for SQL Server 2000/2005) 虽然这样写&#xff0c;但…

如何利用 C# 爬取BigOne交易所的公告!

在当今这个时代&#xff0c;投资可以说是每个人都应该学会的一项技能。拥有一些数字货币是程序员的信仰&#xff01;交易所是进入数字货币世界最方便的一扇门&#xff0c;今天我就带着大家爬取 Bigone 交易所的公告数据。 首先&#xff0c;我们来看一下要爬取的页面以及对应的…

如何提升自己的Web前端技术

如何提升自己的Web前端技术?问这个问题的一般都是有一些web基础的同学&#xff0c;还有一部分是自学的web前端技术&#xff0c;对自己目前的能力还比较模糊&#xff0c;下面小编就这个问题为大家做下详细的介绍。 如何提升自己的Web前端技术?在IT行业&#xff0c;任何一种专业…