第1章:机器学习基础

1.1何谓机器学习

除却一些无关紧要的情况,人们很难直接从原始数据本身获得所需信息。

机器学习对于任何需要解释并操作数据的领域都有所裨益。

1.3机器学习的主要任务

机器学习的主要任务就是分类。就是将实例数据划分到合适的分类中。

机器学习的另一项任务是回归。它的主要作用是预测数值型数据。大多数人可能都见过回归的例子--数据拟合曲线:通过给定数据点的最优拟合曲线。

分类和回归属于监督学习,之所以成为监督学习,是因为这类算法必须知道预测什么,即是目标变量的分类信息。

与监督学习相对应的是无监督学习,此时数据没有类别信息,也不会给定目标值。

在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被称为聚类;将寻找描述数据统计值的过程称为密度估计。此外,无监督学习还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据信息。

1.4如何选择合适的算法

从表中所列的算法中选择实际可用的算法,必须考虑以下两个问题:

一、使用机器学习算法的目的,想要完成何种任务。

二、需要分析或收集的数据是什么。

首先考虑使用机器学习算法的目的。如果想要预测目标变量的值,则可以选择监督学习算法,否则可以选择无监督学习算法。确定选择监督学习算法之后,需要进一步确定目标变量的类型,如果目标变量是离散型,如是/否、1/2/3、A/B/C等,则可以选择分类器算法;如果目标变量是连续型的数值,如0.0~100.00、-999~999等,则需要选择回归算法。

如果不想预测目标变量的值,则可以选择无监督学习算法。进一步分析是否需要将数据划分为离散的组。如果这是唯一的需求,则使用聚类算法;如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。

其次需要考虑的是数据问题。我们应该充分了解数据。主要应该了解数据的以下特性:

特征值是离散型变量还是连续型变量,特征值中是否存在缺失的值,何种原因造成缺失值,书籍中是否存在异常值,某个特征发生的频率如何(是否罕见得如同海底捞针),等等。充分了解上面提到的这些数据特性可以缩短选择机器学习算法的时间。

1.5开发机器学习应用程序的步骤

(1)收集数据。收集数据样本,可以使用公开可用的数据源。

(2)准备输入数据。确保数据格式符合要求。

(3)分析输入数据。人工分析以前得到的数据。分析是否可以识别出模式。确保数据集中没有垃圾数据。

(4)训练算法。机器学习算法从这一步才正真开始学习。第4第5步才是机器学习算法的核心。如果使用无监督学习算法,由于不存在目标变量值,故也不需要训练算法,所有算法相关的内容都集中在第5步。

(5)测试算法。这一步实际使用第4步机器学习得到的知识信息。为了评估算法,必须测试算法工作的效果。对于监督学习,必须已知用于评估算法的目标变量值;对于无监督学习,也必须用其他的评测手段来检验算法的成功率。无论哪种情形,如果不满意算法的输出结果,则可以回到第4步,改正并加以测试。

(6)使用算法。将机器学习算法转换为应用程序,执行实际任务,以检验上述步骤是否可以再实际环境中正常工作。此时如果碰到新的数据问题,同样需要重复执行上述的步骤。

1.6Python语言的优势

基于以下3个原因,我们选择Python作为实现机器学习算法的编程语言:(1)Python的语法清晰;(2)易于操作纯文本文件;(3)使用广泛,存在大量的开发文档。

Python具有清晰的语法结构,大家也把它称为可执行伪代码。Python语言处理和操作文本文件非常简单,非常易于处理非数值型数据。Python语言提供了丰富的正则表达式函数以及很多访问Web页面的函数库,使得从HTML中提取数据变得非常简单直观。

Python语言唯一的不足是性能问题。Python程序运行的效率不如Java或者C语言高,但是我们可以使用Python调用C编译的代码。

机器学习实战(第1章)相关推荐

  1. 机器学习实战第15章pegasos算法原理剖析以及伪代码和算法的对应关系

    Pegasos原文是: http://ttic.uchicago.edu/~nati/Publications/PegasosMPB.pdf 还是挺长的,论文结构是: 第1~6页:主要原理 第7~15 ...

  2. 《机器学习实战》第二章学习笔记:K-近邻算法(代码详解)

    <机器学习实战>数据资料以及总代码可以去GitHub中下载: GitHub代码地址:https://github.com/yangshangqi/Machine-Learning-in-A ...

  3. 机器学习实战:第一章

    根据方教授的建议和要求,在暑假里简单自学<机器学习实战>,记录学习过程和代码. 记 第一章是对机器学习的一些概念介绍,定义了若干专业术语.列举了很多机器学习的各类实例.给出了一个" ...

  4. 机器学习实战——第四章(分类):朴素贝叶斯

    前言 首先感谢博主:Jack-Cui 主页:http://blog.csdn.net/c406495762 朴素贝叶斯博文地址: https://blog.csdn.net/c406495762/ar ...

  5. 《机器学习实战》第九章

    在学习<Machine Learning in Active>的第九章时,由于自己使用的是python3所以在测试代码时出现了不少错误,下面就做一下整合,并给出解决方法 1.NameErr ...

  6. 机器学习实战(MachineLearinginAction) 第一章

    机器学习包括了计算机科学,工程技术和统计学等多个学科. attributes(属性) features(特征) 特征可以是数值型,二值型(真,假),枚举型 训练集(training set) 测试集( ...

  7. Zzz机器学习实战第五章:Logistics回归

    一.函数的选择 基于Logistics回归的目的,我们可以知道,通过该类分类器的输入,进而来判断出类别来,本次学习主要考虑两类,也就是0和1,通过分类器的返回的值,大于0.5分为1,小于0.5分为0 ...

  8. 机器学习实战-第12章Fpgrowth代码勘误+递归打印效果分析

    我们修改数据集,使用: <数据挖掘导论>中的数据集: def loadSimpDat():simpDat = [['a', 'b'],['b', 'c', 'd'],['a', 'c', ...

  9. 机器学习实战(MachineLearinginAction) 第二章 k-近邻算法

    k-近邻算法(k-Nearest Neighbors,KNN) 优点:精度高,对异常值不敏感,无数据输入假定 缺点:计算复杂度,空间复杂度高 适用数据范围:数值型(numeric values)和标称 ...

  10. 机器学习实战第8章预测数值型数据:回归2

    1. Shrinkage(缩减) Methods 当特征比样本点还多时(n>m),输入的数据矩阵X不是满秩矩阵,在求解(XTX)-1时会出现错误.接下来主要介绍岭回归(ridge regress ...

最新文章

  1. 把杀某程序封装成sh
  2. 【openjudge】 CDQZ challenge 4
  3. 基于关系域演算的QBE语言
  4. Swift常用第三方库
  5. python程序内存分析_Python中使用MELIAE分析程序内存占用实例
  6. Java反射常见面试题
  7. 2018毕业设计需求分析
  8. 工作中常用的英语缩写
  9. Http request传输图片和附属信息(old)
  10. 无法找到元素 'aop:aspectj-autoproxy' 的声明
  11. IntelliJ IDEA 还能画思维导图,果然最强 IDE!
  12. 乐乐音乐播放器 功能介绍(一)
  13. iPad 上如何使用 5G 网络以及支持型号
  14. RabbitMQ的交换机类型和工作模式
  15. 恒讯科技报告:2021-2026年泰国数据中心市场机会
  16. 【图论】中国邮递员问题、平面图上最大割问题的多项式时间算法
  17. MySQL视图 视图的作用、视图常用语法
  18. rsync+inotify实现文件增量实时同步
  19. 虚拟机配置静态IP时,ens33不显示ip解决方法
  20. 【ANFIS分类】基于遗传算法优化模糊和ANFIS实现数据分类附matlab代码

热门文章

  1. linux基础ppt下载,《Linux基础》PPT课件.ppt
  2. opencv安装路径以及使用
  3. 数据结构之二叉平衡树
  4. java 微信 百度地图_微信接口调用百度地图api实现微信公众号打卡
  5. idea社区版已经足够强大了
  6. MFC学生信息管理系统
  7. 使用vscode快速建立vue模板
  8. 太极发送卡片软件_xml卡片消息制作软件下载-qq xml卡片消息生成器最新版0.8.10.209 免费版-东坡下载...
  9. 【gp数据库】十条实用数据库SQL优化建议
  10. T19136 交通指挥系统 题解