机器学习实战 (豆瓣)

  • 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. CentOS7安装备忘

    ======1 下载CentOS镜像文件:https://www.centos.org/download/http://isoredirect.centos.org/centos/7/isos/x86 ...

  2. cglib实现动态代理简单使用

    Boss: package proxy.cglib; public class Boss{ public void findPerson() { System.out.println("我要 ...

  3. heap 的一些用法

    noip  合并果子 #include<bits/stdc++.h> using namespace std; int heap[maxn]; ; void input(int d) { ...

  4. Sencha Touch app example -- oreilly app 分析

    from: 2013/8/30的笔记 使用development.js 读取 app.json 配置文件 app.json 配置了app.js文件 app.js lauch function ,首先用 ...

  5. Go Example--常量

    package main import ( "fmt" "math" ) const s string = "constant" //定义字 ...

  6. Python知识点整理,基础4 - 集合操作

  7. xencenter如何安装系统

    首先点击增加服务器 输入xenserver的ip和用户名以及密码 添加资源池,注意下面那个add new server也要指定一个server,例如刚刚创建的那个 还要搞一个存储的,注意iso要选择s ...

  8. MySQL创建计算字段

    数据库中数据表的格式一般不是应用程序所需要的格式,如: 在一个字段中既显示公司名有显示公司地址,但这两个数据一般不在一张表中 城市,州和邮政编码在不同的列中,但邮件标签打印程序需要把他们作为一个恰当的 ...

  9. FastAdmin Bootstrap-Table 自定义搜索的重写提示

    Bootstrap-Table 自定义搜索的重写提示 群友询问:这个搜索能自己写么? [群主]Karson-深圳(请勿@) "★找大神-山西 10:59:32 查看原文 [图片] 这个搜索能 ...

  10. day 33 什么是线程? 两种创建方式. 守护线程. 锁. 死锁现象. 递归锁. GIL锁

    一.线程     1.进程:资源的分配单位    线程:cpu执行单位(实体) 2.线程的创建和销毁开销特别小 3.线程之间资源共享,共享的是同一个进程中的资源 4.线程之间不是隔离的 5.线程可不需 ...