关于机器学习,这可能是目前最全面最无痛的入门路径和资源!

之前搞机器学习的那帮人都喜欢用Python,所以Python慢慢就积攒了很多优秀的机器学习库,所谓的库,你就理解为别人封装好的一些具有某些功能的模块,我们可以通过调用这些模块来实现某些功能,而不用自己从头写代码;

2、Python真的是一个极易上手的语言,语法很简单,容易理解,且实现同一功能的代码量会比一般语言要少一些,李杰克上手python的过程除了最开始熟悉语法的阶段比较无聊烦躁外,后面都没有太不适的感觉。

就算你不搞机器学习,如果要学编程,那Python也是个极佳选择,因为Python这货实在腻害,机器学习、数据分析、爬虫、Web 网站、游戏、后台服务、运维都能做,因为什么事情都能掺和上一脚的特性,江湖人称“万能胶水”。

话说现在都有小学都把Python列为必修课了,浙江还把Python列为高考内容,就问一句你怕不怕,反正我已经是瑟瑟发抖了,坐等被拍死......

回归正题,下面我们来说下,在机器学习这一领域,需要掌握哪些基本的Python知识。

一、Python的基本语法和应用

1、基本元素

基本上就是整数、浮点数、字符串、变量、布尔值、list、tuple、dict和常用格式文件等元素的操作和使用。

2、判断和循环

你可以理解为把上面说的一些基本元素通过if..else...., for和while等来做一些判断和循环。判断很简单,在某个节点上,如果是A,下面一步应该怎么走,如果是B,下面应该怎么走。循环也不难理解,比如说我们有一个list[1,2,3],我们把里面的每个元素都取出来做某些处理。

3、函数和类

你可以理解为我们故意把某些逻辑做成类或函数,在某些需要用到这端逻辑的场景下,我们可以直接调用相关函数,而不用重新去写这段逻辑的代码,其实就是程序猿常说的不要重复造轮子的事情。

聪明的你是不是感觉有点熟悉似曾相识啊,对的哇,前面说的库里的模块,其实就是一个个封装好的函数哈。

再次强调,这只是你需要掌握的最最基本的东西,Python的世界可是大着呢!

二、科学计算库numpy和pandas

numpy和pandas是非常出名两个科学计算库,很多做数据分析和金融的童鞋都会用到。

那为什么机器学习会用到这两个库了?

我们先来无脑吟唱下这句话:在机器的世界里,万物皆可为向量。向量其实也算是一维的矩阵,我们的训练数据和要预测的数据也都是以矩阵的形式喂给机器的。

而numpy和pandas可以说是处理矩阵的好手,所以通常会用numpy和pandas对数据进行处理后再喂给机器,就我目前的实践经验来说,numpy应用的场景会比pandas多些。

其实好一些机器学习框架(如TensorFlow和Mxnet)也有自己处理数据的模块,但大多是通过封装numpy得到的,使用的方法也很像,所以无脑去上手numpy肯定不亏。

关于numpy和panda,我给大家提供一个PPT《机器学习numpy与pandas基础》,大概100来页,两个库的基本知识都说到了,感觉还不错,已经放在云盘里了。

另外,网上有一篇叫《十分钟搞定pandas》的文章梳理得还算清晰到位,大家不妨也去读读,反正也花不了多少时间。

《机器学习numpy与pandas基础》获取方式:详见文末

《十分钟搞定pandas》阅读地址:http://t.cn/RpYFh6h

三、画图库matplotlib

在搞机器学习过程中,画图不是必须的,但通过画图能够让我们可视化一些数据,从而能够更直观地观察数据特征和训练过程。

我们可以把每一个数据样本都理解为其特征空间中的一个点。当我们把这些数据样本在其特征空间中画出来后,就可以了解到数据的分布了。

通过观察数据分布是可以发现一些规律的,比如下图的是机器学习中著名的手写识别体数据集mnist(手写的0到9十个数字的图片)的数据经过处理后的可视化效果。

是不是有发现相同数字的数据都分布得比较近?其实不难理解,两个数据样本在特征空间中的距离越近,就说明它们越像。

我们不妨再微微展开一下,话说我的好友王建国童鞋是个二次元妹纸颜控,在他眼中每一个二次元妹纸都可以被量化为四个维度的数据样本:脸萌的程度(0-100)、声音萌的程度(0-100)、胸大的程度(0-100)、腿长的程度(0-100),所以每个二次元妹纸都是以上四个维度构成特征空间中的一个点。

聪明的你知道三维以内的空间是可以画出来的,那如果一个模型里的数据超过三维,那我们是不是就不能可视化了?

好问题,数据超过三维后的确是不能够可视化,因为我们根本就画不出来的嘛。

但你可能还记得我们之前说过有一类机器学习算法,是可以在保证数据信息损失尽可能小的前提下压缩数据维度的,所以我们可以通过这类算法先把数据压到三维以内,再做可视化处理。

有点抽象?那李杰克说具体点,我们把王建国童鞋认识的所有二次元妹子的数据样本都喂给机器,机器扑哧扑哧研究后,发现脸比较萌的妹纸通常声音也比较萌,然后就搞出一个新的维度来代替了脸萌程度和声音萌程度两个维度。所以我们这些二次元妹纸的数据就被压成了三个维度的数据,这个时候我们就可以通过可视化来看数据分布了。

另外,我们还可以通过matplotlib来画出训练过程中一些数据的变化,比如下图这个最简单的线性回归训练拟合的过程:

matplotlib的基本操作学习成本并不高,基本一到两天,可以把里面基础常用函数模块搞得差不多懂,建议可以学学。下面这篇文章《matplotlib绘图可视化知识点整理》,是李杰克觉得基本知识点梳理得还不错的的,各位同学可做参考。

《matplotlib绘图可视化知识点整理》阅读地址:http://t.cn/RqDxDo8

四、一些Python学习的建议

Python有2和3的两个版本,我最开始用的是Python2,因为在网上看到的信息都是说有些机器学习的库不支持Python3,后来发现其实基本上都是支持的,所以我又迁移到Python3,总体上Python2和Python3的区别不大。

但诸如numpy等一些库已经宣布停止对Python2的更新,Python的未来大势也是向Python3迁移,所以建议各位童鞋直接上手Python3。

关于Python安装,建议大家使用anaconda版本的Python,因为anaconda有强大的库和环境管理功能。通常一个库的安装会依赖一些相联的库,anaconda可以帮你直接把所有相关联的库都一步到位安装了,而不用你自己一个一个手动安装。相信我,这很重要,至少你不会因为装一个库装了一两天还装不对而暴躁得想砸电脑.....而且大家以后机器学习常用来写代码的jupyter和spyder也已经内置在了完全版的anaconda中,会很方便。

本文来自企鹅号 - 产品运营共享小咖媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

PyTorch 特辑!网红 5 分钟带你入门 PyTorch

Siraj Raval 作为深度学习领域的自媒体人在欧美可以说是无人不知、无人不晓。 凭借在 Youtube 上的指导视频,Siraj Raval 在全世界吸...

477100
来自专栏机器人网

Python最有用的机器学习工具和库

Python是最好的编程语言之一,在科学计算中用途广泛:计算机视觉、人工智能、数学、天文等。它同样适用于机器学习也是意料之中的事。

16850
来自专栏一心无二用,本人只专注于基础图像算法的实现与优化。

13行代码实现最快速最高效的积分图像算法。

  研究图像到一定程度的人,应该都对积分图像有所了解,大家在百度或者google中都可以搜索到大量的相关博客,我这里不做多介绍。用积分图也确实能解决很多实际的问...

50580
来自专栏数据科学与人工智能

【机器学习】Python语言下的机器学习库

Python是最好的编程语言之一,在科学计算中用途广泛:计算机视觉、人工智能、数学、天文等。它同样适用于机器学习也是意料之中的事。 当然,它也有些缺点;其中一个...

275100
来自专栏数据科学与人工智能

【Python环境】Python语言下的机器学习库

Python是最好的编程语言之一,在科学计算中用途广泛:计算机视觉、人工智能、数学、天文等。它同样适用于机器学习也是意料之中的事。 当然,它也有些缺点;其中一个...

31660
来自专栏机器之心

业界 | 微软提出基于程序图简化程序分析,直接从源代码中学习

19030
来自专栏专知

【AlphaGo Zero 核心技术-深度强化学习教程代码实战02】理解gym的建模思想

点击上方“专知”关注获取更多AI知识! 【导读】Google DeepMind在Nature上发表最新论文,介绍了迄今最强最新的版本AlphaGo Zero,不...

38350
来自专栏机器学习AI算法工程

时间序列预测全攻略(附带Python代码)

原文作者:AARSHAY JAIN 36大数据翻译,http://www.36dsj.com/archives/43811 时间序列(简称TS)被认为是分...

3K70
来自专栏专知

【读书笔记】基于知识库的问答:生成查询图进行语义分析

【导读】将DBPedia和Freebase这样的大规模知识库组织并存储在一个结构化的数据库,这已成为支持开放领域问题问答的重要资源。 KB-QA的大多数方法基于...

56170
来自专栏AI研习社

告别选择困难症,我来带你剖析这些深度学习框架基本原理

无论你喜欢或不喜欢,深度学习就在这里等着你来学习,伴随着技术淘金热而来的过多的可选项,让新手望而生畏。

19030

扫码关注云+社区

领取腾讯云代金券