机器学习实战 (豆瓣)

  • https://book.douban.com/subject/24703171/
  • 机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或模式,成为各行业求生存、谋发展的决定性手段,这使得这一过去为分析师和数学家所专属的研究领域越来越为人们所瞩目。
  • 本书第一部分主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习算法,如k近邻算法、朴素贝叶斯算法、Logistic回归算法、支持向量机、AdaBoost集成方法、基于树的回归算法和分类回归树(CART)算法等。第三部分则重点介绍无监督学习及其一些主要算法:k均值聚类算法、Apriori算法、FP-Growth算法。第四部分介绍了机器学习算法的一些附属工具。
  • 全书通过精心编排的实例,切入日常工作任务,摒弃学术化语言,利用高效的可复用Python代码来阐释如何处理统计数据,进行数据分析及可视化。通过各种实例,读者可从中学会机器学习的核心算法,并能将其运用于一些策略性任务中,如分类、预测、推荐。另外,还可用它们来实现一些更高级的功能,如汇总和简化等。

Machine Learning in Action

https://www.safaribooksonline.com/library/view/machine-learning-in/9781617290183/

Summary

Machine Learning in Action is a unique book that blends the foundational theories of machine learning with the practical realities of building tools for everyday data analysis. You'll use the flexible Python programming language to build programs that implement algorithms for data classification, forecasting, recommendations, and higher-level features like summarization and simplification.

About this Book

A machine is said to learn when its performance improves with experience. Learning requires algorithms and programs that capture data and ferret out the interesting or useful patterns. Once the specialized domain of analysts and mathematicians, machine learning is becoming a skill needed by many.

Machine Learning in Action is a clearly written tutorial for developers. It avoids academic language and takes you straight to the techniques you’ll use in your day-to-day work. Many (Python) examples present the core algorithms of statistical data processing, data analysis, and data visualization in code you can reuse. You’ll understand the concepts and how they fit in with tactical tasks like classification, forecasting, recommendations, and higher-level features like summarization and simplification.

Readers need no prior experience with machine learning or statistical processing. Familiarity with Python is helpful.

What’s Inside

  • A no-nonsense introduction

  • Examples showing common ML tasks

  • Everyday data analysis

  • Implementing classic algorithms like Apriori and Adaboos

About the Author

Peter Harrington is a professional developer and data scientist. He holds five US patents and his work has been published in numerous academic journals.


超级数学建模|公开课】Python机器学习—泰坦尼克号获救预测_腾讯课堂

  • https://ke.qq.com/course/204383
  • https://github.com/haoran119/ke.qq.com.python/tree/master/src/python-ml-titanic
  • 机器学习案例实战泰坦尼克号船员获救预测,使用Python库从零开始,一步步完成预处理,建模以及评估的任务。

《机器学习实战》算法讲解及代码实现 - Python二三事与机器学习算法

  • https://mp.weixin.qq.com/s/XiFBYDZaB-NCBvsJbrTbVg
  • https://github.com/wzy6642/Machine-Learning-in-Action-Python3

Chapter 1. Machine learning basics

  • 机器学习的主要任务是将实例数据划分到合适的分类中。机器学习的另一项任务是回归,它主要用于预测数值型数据。大多数人可能都见过回归的例子-数据拟合曲线:通过给定数据点的最优拟合曲线。分类和回归属于监督学习,之所以称之为监督学习,是因为这类算法知道预测什么,即目标变量的分类信息。
  • 与监督学习相对应的是无监督学习,此时数据没有类别信息,也不会给定目标值。在无监督学习中,将数据集合分成由类似对象组成的多个类的过程称为聚类;将寻找描述数据统计值的过程称为密度估计。此外,无监督学习还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观的展示数据信息。下表列出了机器学习的主要任务,以及解决相应问题的算法。

表1-2 用于执行分类、回归、聚类和密度估计的机器学习算法

监督学习的用途

k-近邻算法    线性回归
朴素贝叶斯算法  局部加权线性回归
支持向量机    Ridge回归
决策树      Lasso最小回归系数估计

无监督学习的用途

K-均值      最大期望算法
DBSCAN      Parzen窗设计

  • 从所列算法中选择实际可用的算法,必须考虑下面两个问题:一、使用机器学习算法的目的,想要算法完成何种任务;二、需要分析或收集的数据是什么。
  • 首先考虑使用机器学习算法的目的。如果想要预测目标变量的值,则可以选择监督学习算法,否则无监督学习算法。确定选择监督学习算法后,需要进一步确定目标变量类型,如果是离散型,则可以使用分类器算法;如果是连续型,则需要选择回归算法。
  • 如果不想要预测目标变量的值,则可以选择无监督学习算法。进一步分析是否需要将数据划分为离散的组。如果这是唯一的需求,则使用聚类算法;如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。
  • 在大多数情况下,上面给出的选择方法都能帮助读者选择适当的机器学习算法,但这也并非一成不变。
  • 其次需要考虑的是数据问题。主要了解数据的以下特性:特征值是离散型还是连续型变量,特征值中是否存在缺少的值,何种原因造成缺失值,数据中是否存在异常值,某个特征发生的频率如何等。
  • 我们只能在一定程度上缩小算法的选择范围,一般并不存在最好的算法或者给出最好结果的算法,同时还要尝试不同算法的执行效果。
  • 本书学习和使用机器学习算法开发应用程序,通常遵循以下步骤
  1. 收集数据
  2. 准备输入数据
  3. 分析输入数据
  4. 训练算法
    • 如果使用无监督学习算法,由于不存在目标变量值,故而也不需要训练算法,所有与算法相关的内容都在第5步。  
  5. 测试算法
  6. 使用算法
  • 基于以下三个原因,我们选择Python作为实现机器学习算法的编程语言

    • 语法清晰
    • 易于操作纯文本文件
    • 使用广泛,存在大量的开发文档
  • 所有人在小学二年级已经学会了写作,然而大多数人必须从事其他更重要的工作。
  • Python语言唯一的不足就是性能问题。
  • 学习机器学习算法,必须了解数据实例,每个数据实例由多个特征值组成。分类是基本的机器学习任务,它分析未分类数据,以确定如何将其放入已知群组中。为了构建和训练分类器,必须首先输入大量已知分类的数据,即训练样本集。

Chapter 2. Classifying with k-Nearest Neighbors

  • This chapter covers

    • The k-Nearest Neighbors classification algorithm
    • Parsing and importing data from a text file
    • Creating scatter plots with Matplotlib
    • Normalizing numeric values
  • 简单的说,k-近邻算法采用测量不同特征值之间的距离方法进行分类。
  • 优点:精度高、对异常值不敏感、无数据输入假定。
  • 缺点:计算复杂度高、空间复杂度高。
  • 适用数据范围:数值型和标称型。
  • Pros: High accuracy, insensitive to outliers, no assumptions about data
  • Cons: Computationally expensive, requires a lot of memory
  • Works with: Numeric values, nominal values
  • k-近邻算法的一般流程:
  1. 收集数据:可以使用任何方法。
  2. 准备数据:距离计算所需要的数值,最好是结构化的数据格式。
  3. 分析数据:可以使用任何方法。
  4. 训练算法:此步骤不适用于该算法。
  5. 测试算法:计算错误率。
  6. 使用算法:首先需要输入样本数据和结构化的输出结果,然后运行k-近邻算法判定输入数据分别属于哪个分类,最后应用对计算出的分类执行后续的处理。
  • When dealing with values that lie in different ranges, it’s common to normalize them. Common ranges to normalize them to are 0 to 1 or -1 to 1. To scale everything from 0 to 1, you need to apply the following formula:

    • newValue = (oldValue-min)/(max-min)
  • Is there a way to make this smaller and take fewer computations? One modification to kNN, called kD-trees, allows you to reduce the number of calculations.
  • k-近邻算法是分类数据最简单有效的算法。它是基于实例的学习,使用算法时我们必须有接近实际数据的训练样本数据。它必须保存全部数据集,如果训练数据集很大,必须使用大量存储空间,此外由于必须对数据集中的每个数据计算距离值,实际使用时可能非常耗时。
  • 它的另一个缺陷是它无法给出任何数据的基础结构信息,因此我们也无法知晓平均实例样本和典型实例样本具有什么特征。

Chapter 3. Splitting datasets one feature at a time: decision trees

  • This chapter covers

    • Introducing decision trees
    • Measuring consistency in a dataset
    • Using recursion to construct a decision tree
    • Plotting trees in Matplotlib

学习笔记之机器学习实战 (Machine Learning in Action)的更多相关文章

  1. 学习笔记之机器学习(Machine Learning)

    机器学习 - 维基百科,自由的百科全书 https://zh.wikipedia.org/wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0 机器学习是人工智能的一个分 ...

  2. K近邻 Python实现 机器学习实战(Machine Learning in Action)

    算法原理 K近邻是机器学习中常见的分类方法之间,也是相对最简单的一种分类方法,属于监督学习范畴.其实K近邻并没有显式的学习过程,它的学习过程就是测试过程.K近邻思想很简单:先给你一个训练数据集D,包括 ...

  3. 机器学习实战 [Machine learning in action]

    内容简介 机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中萃取有价值的信息或模式,成为各行业求生存.谋发展的决定性手段,这使得这一过去为分析师和数学家所专属 ...

  4. 《Machine Learning in Action》—— 剖析支持向量机,单手狂撕线性SVM

    <Machine Learning in Action>-- 剖析支持向量机,单手狂撕线性SVM 前面在写NumPy文章的结尾处也有提到,本来是打算按照<机器学习实战 / Machi ...

  5. 机器学习实战(Machine Learning in Action)学习笔记————10.奇异值分解(SVD)原理、基于协同过滤的推荐引擎、数据降维

    关键字:SVD.奇异值分解.降维.基于协同过滤的推荐引擎作者:米仓山下时间:2018-11-3机器学习实战(Machine Learning in Action,@author: Peter Harr ...

  6. 机器学习实战(Machine Learning in Action)学习笔记————09.利用PCA简化数据

    机器学习实战(Machine Learning in Action)学习笔记————09.利用PCA简化数据 关键字:PCA.主成分分析.降维作者:米仓山下时间:2018-11-15机器学习实战(Ma ...

  7. 机器学习实战(Machine Learning in Action)学习笔记————08.使用FPgrowth算法来高效发现频繁项集

    机器学习实战(Machine Learning in Action)学习笔记————08.使用FPgrowth算法来高效发现频繁项集 关键字:FPgrowth.频繁项集.条件FP树.非监督学习作者:米 ...

  8. 机器学习实战(Machine Learning in Action)学习笔记————07.使用Apriori算法进行关联分析

    机器学习实战(Machine Learning in Action)学习笔记————07.使用Apriori算法进行关联分析 关键字:Apriori.关联规则挖掘.频繁项集作者:米仓山下时间:2018 ...

  9. 机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记

    机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记 关键字:k-均值.kMeans.聚类.非监督学习作者:米仓山下时间: ...

随机推荐

  1. 矩阵快速幂 51nod

    基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大,只需要输出 ...

  2. 06 面向对象:多态&抽象类&接口&权限修饰符&内部类

    多态: /* 多态(polymorphic)概述 * 事物存在的多种形态 多态前提 * a:要有继承关系. * b:要有方法重写. * c:要有父类引用指向子类对象. * 成员变量 * 编译看左边(父 ...

  3. @EnableConfigurationProperties、@EnableAsync、 @EnableTransactionManagement

    ★@ConfigurationProperties和@EnableConfigurationProperties配合使用 @ConfigurationProperties注解主要用来把properti ...

  4. eventEmitter

    wade-mac:fin_server_invest mac$ node > var events =require('events') undefined > var eventEmit ...

  5. Go Example--通道遍历

    package main import ( "fmt" ) func main() { queue := make(chan string, 2) queue <- &quo ...

  6. Go Example--闭包

    package main import "fmt" func main() { //这里需要将闭包函数当作一个类理解,这里是实例化 nextInt := intSeq() fmt. ...

  7. 【mybatis源码学习】mybtias知识点

    Mybatis技术内幕系列博客,从原理和源码角度,介绍了其内部实现细节,无论是写的好与不好,我确实是用心写了,由于并不是介绍如何使用Mybatis的文章,所以,一些参数使用细节略掉了,我们的目标是介绍 ...

  8. 深入浅出Node.js---Connect模块解析 。转载

    文章地址:https://blog.csdn.net/zhangyuan19880606/article/details/51509205 1 Connect模块背景 Node.js的愿望是成为一个能 ...

  9. centos7上部署vnc服务器并实现远程桌面

    centos7上进行一下操作 [root@localhost ~]# yum install tigervnc-server -y#安装vnc服务器 Loaded plugins: fastestmi ...

  10. Android.bp学习笔记

    1.Android.bp简介 Android 7.0之后希望用Android.bp替换Android.mk,bp简单的配置更方便Ninja 文件的产生,而Blueprint和Soong 就此产生.An ...