目录

1.1机器学习综述

1、机器学习的定义

2、机器学习的三个关键术语

(1)任务

(2)经验

(3)性能

1.2Python编程库

1、Python机器学习的优势

(1)方便调试的解释型语言

(2)跨平台执行作业

(3)广泛的应用编程接口

(4)丰富完备的开源工具包

2、第三方程序库及平台

(1)Numpy & SciPy

(2)Matplotlib

(3)Scikit-learn

(4)Pandas

(5)Anaconda

1.3Python环境配置

1、Windows系统环境

(1)安装Anaconda

(2)安装Pycharm

2、Mac OS系统环境


1.1机器学习综述

1、机器学习的定义

美国卡内基梅隆大学(Garnegie Mellon University)机器学习研究领域的著名教授Tom Mitchell的经典定义:

A program can be said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.

如果一个程序在使用既有的经验(E)执行某类任务(T)的过程中被认定为是“具备学习能力的”,那么它一定需要展现出:利用现有的经验(E),不断改善其完成既定任务(T)的性能(P)的特质。

2、机器学习的三个关键术语

(1)任务

监督学习:关注对事物未知表现的预测,一般包括分类问题和回归问题。

分类问题:对其所在的类别进行预测,类别既是离散的,同时也是预先知道数量的。比如,根据一个人的身高、体重和三围等数据,预测其性别;根据一朵鸢尾花的花瓣、花萼的长宽等数据,判断其属于那个鸢尾花亚种。

回归问题:预测的目标往往是连续变量。比如,根据房屋的面积、地理位置、建筑年代等进行销售价格的预测。

无监督学习:倾向于对事物本身特性的分析,常用的技术包括数据降维和聚类问题。

数据降维:对事物的特性进行压缩和筛选。

聚类:依赖于数据的相似性,把相似的数据样本划分为一个簇。

(2)经验

特征:反映数据内在规律的信息。

监督学习:所拥有的经验包括特征和标记/目标两个部分。一般用一个特征向量来描述一个数据样本;标记/目标的表现形式则取决于监督学习的种类。

无监督学习:没有标记/目标,无法从事预测任务,适合对数据结构的分析。

备注:除了标记/目标的表现形式存在离散、连续变量的区别,从原始数据到特征向量转化的过程中也会遭遇多种数据类型:类别型特征,数值型特征,甚至是缺失的数据等。实际操作过程中,都需要把这些特征转化为具体的数值参与运算。

训练集:既有特征、同时也带有目标/标记的数据集。

(3)性能

所谓性能,便是评价所完成任务质量的指标。

测试集:具备相同特征的数据,将模型的预测结果同相对应的正确答案进行比对的数据集。

备注:需要保证出现在测试集的数据样本一定不能被用于模型训练,简而言之,训练集和测试集之间是彼此互斥的。

准确性:分类问题,根据预测正确类别的百分比来评价其性能的指标。

备注:回归问题无法使用类似的指标,通常会衡量预测值与实际值之间的偏差大小。

1.2Python编程库

1、Python机器学习的优势

(1)方便调试的解释型语言

Python是一门解释型编程语言,与Java类似,源代码都要通过一个解释器(Interpreter),转换为独特的字节码。这个过程不需要保证全部代码一次性通过编译;相反,Python解释器逐行处理这些代码。因此方便了调试过程,也特别适合于使用不同机器学习模型进行增量式开发。

(2)跨平台执行作业

上面提到Python的源代码都会先解释成独特的字节码,然后才会被运行。从另一个角度讲,只要一个平台安装有用于运行这些字节码的虚拟机,那么Python便可以执行跨平台作业。这点不同于C++这类编译型语言,但是却和Java虚拟机很相似。

(3)广泛的应用编程接口

除了那些被用于编程人员自行开发所使用的第三方程序库以外,业界许多著名的公司都拥有用于科研和商业的云平台,如亚马逊的AWS(Amazon Web Services)、谷歌的Prediction API等。这些平台同时也面向互联网用户提供机器学习功能的Python应用编程接口(Application Programming Interface)。许多平台的机器学习功能模块不需要用户来编写,只需要用户像搭积木一样,通过Python语言并且遵照API的编写协议与规则,把各个模块串接起来即可。

(4)丰富完备的开源工具包

软件工程中有一个非常重要的概念,便是代码与程序的重用性。为了构建功能强大的机器学习系统,如果没有特殊的开发需求,通常情况下,我们都不会从零开始编程。Python自身免费开源的特性使得大量专业、甚至天才型的编程人员,参与到Python第三方开源工具包(程序库)的构建中。大多数的工具包(程序库)都允许个人免费使用,乃至商用。

这其中就包括本书主要使用的多个用于机器学习的第三方程序库,如便于向量、矩阵和复杂科学计算的NumPy与SciPy;仿MATLAB样式绘图的Matplotlib;包含大量经典机器学习模型的Scikit-learn;对数据进行快捷分析与处理的Pandas;以及集成了上述所有第三方程序库的综合实践平台Anaconda。

2、第三方程序库及平台

(1)Numpy & SciPy

NumPy是全书最为基础的Python编程库。NumPy除了提供一些高级的数学运算机制以外,还具备非常高效的向量和矩阵运算功能。而NumPy更为突出的是它内部独到的设计,使得处理这些矩阵和向量计算比起一般程序员自行编写,甚至是Python自带程序库的运行效率都要高出许多。

SciPy则是在Numpy的基础上构建的更为强大,应用领域也更为广泛的科学计算包。正是出于这个原因,SciPy需要依赖NumPy的支持进行安装和运行。

(2)Matplotlib

众所周知,MATLAB作为一款功能强劲,集数据分析和展现于一体的商业软件,受到无数自然科学工作者的青睐。然而在多数情况下,只有高等学校、科研和机构和大型公司才能负担的起其昂贵的正版许可证。就普通个人对数据展现方面的需求而言,我们更加希望有类似MATLAB的绘图功能,但是允许免费使用的Python程序库。Matplotlib作为一款Python编程环境下免费使用的绘图工具包,其工作方式和绘图命令几乎和MATLAB类似。

(3)Scikit-learn

Scikit-learn是本书所使用的核心程序库,依托于上述几种工具包,封装了大量经典以及最新的机器学习模型。作为一款用于机器学习和实践的 Python 第三方开源程序库,Scikit-learn 无疑是成功的。无论是其出色的接口设计,还是高效的学习能力,都使它成为本书介绍的核心工具包。

(4)Pandas

事实上,多数在业界的研发团队往往不会投入太多精力从事全新机器学习模型的研究;而是针对具体的项目和特定的数据,使用现有的经典模型进行分析。这样一来,时间多数被花费在处理数据,甚至是数据清洗的工作上,特别是在数据还相对原始的条件下。Pandas是一款针对于数据处理和分析的 Python 工具包,其中实现了大量便于数据读写、清洗、填充以及分析的功能。

(5)Anaconda

对于想快速上手的初学者而言,笔者推荐使用 Anaconda平台,只要下载并安装对应操作系统以及 Python 解释器版本的程序包,便可以一次性获得 300 多种用于科学和工程计算相关任务的Python编程库的支持;本书所涉及的编程库仅仅是其冰山一角。

1.3Python环境配置

1、Windows系统环境

(1)安装Anaconda

https://blog.csdn.net/wyatt007/article/details/80369755

(2)安装Pycharm

略。

2、Mac OS系统环境

略。

《Python机器学习及实践:从零开始通往Kaggle竞赛之路》第1章 简介篇 学习笔记(一)1.1机器学习综述、1.2Python编程库、1.3Python环境配置总结相关推荐

  1. Python机器学习及实践+从零开始通往Kaggle竞赛之路

    内容简介 本书面向所有对机器学习与数据挖掘的实践及竞赛感兴趣的读者,从零开始,以Python编程语言为基础,在不涉及大量数学模型与复杂编程知识的前提下,逐步带领读者熟悉并且掌握当下最流行的机器学习.数 ...

  2. Python 机器学习及实践从零开始通往 Kaggle竞赛之路(持续更新 ing)

    文章目录 第一章 简介篇 1.1 机器学习综述 1.2 Python 编程库介绍 1.3 Python编程基础 第二章 基础篇 2.1 监督学习经典模型 2.1.1 分类学习 2.1.2 回归预测 2 ...

  3. 一日一书:机器学习及实践——从零开始通往kaggle竞赛之路

    过去近二十年,计算机科学的发展是被大量的数据推动的.海量数据提供了认识世界的新视角,同时也带来了分析和理解数据的巨大挑战.如何从数据中获得知识,并利用这些知识帮助设计和创造更满足用户需求的产品,希望将 ...

  4. 《Python机器学习及实践——从零开始通往Kaggle竞赛之路》学习笔记(1)——简介篇

    机器学习的结构 #mermaid-svg-HxJdCSW6sVlBmYVP {font-family:"trebuchet ms",verdana,arial,sans-serif ...

  5. 《python机器学习及实践-从零开始通往kaggle竞赛之路》——代码整理

    代码目录 2.1 监督学习经典模型 2.1.1 分类学习 2.1.1.1 线性分类器 2.1.1.2 支持向量机 2.1.1.3 朴素贝叶斯 2.1.1.4 K近邻 2.1.1.5&2.1.1 ...

  6. python机器学习及实践_机器学习入门之《Python机器学习及实践:从零开始通往Kaggle竞赛之路》...

    本文主要向大家介绍了机器学习入门之<Python机器学习及实践:从零开始通往Kaggle竞赛之路>,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助. <Python 机 ...

  7. 《Python机器学习及实践:从零开始通往Kaggle竞赛之路》第1章 简介篇 学习笔记(三)“良/恶性乳腺癌肿瘤预测”总结

    目录 "良/恶性乳腺癌肿瘤预测" 1.机器学习的三个关键术语 (1)任务 (2)经验 (3)性能 2.机器学习的学习过程 (1)观察测试集数据分布 (2)初始化二类分类器 (3)训 ...

  8. 吴恩达《机器学习》学习笔记十四——应用机器学习的建议实现一个机器学习模型的改进

    吴恩达<机器学习>学习笔记十四--应用机器学习的建议实现一个机器学习模型的改进 一.任务介绍 二.代码实现 1.准备数据 2.代价函数 3.梯度计算 4.带有正则化的代价函数和梯度计算 5 ...

  9. 蓝桥杯备考——算法竞赛入门经典(第2版)学习笔记2

    算法竞赛入门经典(第2版)学习笔记2 第二章 循环结构程序设计 2.1 for循环 2.2 while 循环和do-while 循环 2.3 循环的代价 2.4 算法竞赛中的输入输出框架 2.5 注解 ...

  10. C#编程实践:将输入的单词用下划线连接起来(学习笔记)

    C#编程实践:将输入的单词用下划线连接起来(学习笔记) 题目要求 输入格式 输出格式 编程平台 代码实现 题目要求 将用户输入的单词用下划线连接起来. 输入时用空格或回车来分隔单词或句子,连续输入两个 ...

最新文章

  1. Windbg学习 (0x0012) 命令-批处理命令程序
  2. jmeter测试java接口测试_简单易学的测试攻略:JMeter测试Java请求示例
  3. Android webview 加载https网页显示空白
  4. 解决eclipse中java项目导出成jar包后读写UTF-8文件中文乱码问题
  5. python疑问5:位置参数,默认参数,可变参数,关键字参数,命名关键字参数区别...
  6. mysql8导出文件_windows下 Mysql 8.0.x 数据库简单的导出和导入!!!
  7. 初识 Vue(01)---(输出 Hello World)
  8. android gl11,Android 中OpenGL的使用
  9. vue项目 echarts 中国地图,vue项目 echarts中国地图点击省份显示对应它的各个市,从零开始。
  10. 苹果x和xsmax有什么区别_苹果12和12pro有什么区别?参数对比拍照续航,哪个值得买?...
  11. 自然语言处理概述及流程
  12. 黑色星期五:纳斯达克五大科技股市值单日蒸发约1000亿美元
  13. Metal每日分享,调整胶片颗粒感滤镜效果
  14. DDD第3篇 - 事件风暴
  15. 使用C语言产生正弦波数据
  16. 网络7层协议,4层,5层?理清容易混淆的几个概念
  17. IDEA搜索关键字的快捷键
  18. matlab中m文件的好处,请教matlab中M文件问题?
  19. HBuilder开发小程序,如何实现在微信开发者工具中实时更新
  20. html让页面飘树叶的代码,逼真的HTML5树叶飘落动画

热门文章

  1. SuperSU下载 | SuperSU Download
  2. Explainability in Graph Neural Networks:A Taxonomic Survey 图可解释
  3. c语言编程仓鼠吃豆子,动态规划之仓鼠吃豆子 - osc_8quu62cg的个人空间 - OSCHINA - 中文开源技术交流社区...
  4. NOI 2017 滚粗记
  5. hdu 5208 Where is Bob (数位dp,k进制树合并)
  6. 百度人脸识别申请授权文件步骤要领
  7. 为什么电脑不能安全关闭计算机,电脑无法正常关机的原因以及解决办法
  8. rstudio 连接mysql_RStudio 操作MySQL数据库
  9. 今天不写技术文章,摘一篇好文,呵呵(95%中国民营企业家富不过三代 子女教育存失误)
  10. matlab彩色图像处理实验报告,matlab简单图像处理实验报告