目录

  • 1 为什么选择用Python
  • 2 机器学习和深度学习框架
    • 2.1 Pandas
    • 2.2 Num Py
    • 2.3 Matplotlib
    • 2.4 Seaborn
    • 2.5 Scikit-learn
    • 2.6 Tensor Flow
    • 2.7 Keras
    • 2.8 Py Torch

1 为什么选择用Python

大家有没有想过,为什么Python不知不觉中成了最流行的机器学习语言之一?

随着人工智能技术的发展与普及,Python超越了许多其他编程语言,成为了机器学习领域中最热门最常用的编程语言之一。有许多原因致使Python在众多开发者中如此受追捧,其中之一便是其拥有大量的与机器学习相关的开源框架以及工具库。根据http://builtwith.com的数据显示,45%的科技公司都倾向于使用Python作为人工智能与机器学习领域的编程语言。

简单说:Python是一种很简洁的语言,容易写、容易读,而且在机器学习方面有独特的优势。

使Python如此受欢迎主要由于:

1.Python从设计之初就是为效率而生,以使项目从开发到部署再在运维都能保持较高的生产力;
2.社区有大量的基于Python的开源框架及工具库;
3.Python易于上手,可以说是编程小白的福音;
4.相比起C、Java、C++来讲,Python的语法更简单,更高级,只需要更少行数的代码便能实现其他编程

语言同样的功能;
Python的跨平台能力;
正是由于Python简单易用以及高开发效率,吸引了大量的开发者为其创建更多新的机器学习工具库;而

又因为大量的机器学习工具库的出现,使得Python在机器学习领域变得如此流行。

2 机器学习和深度学习框架

大家可能听说过机器学习和深度学习“框架”这个名词,这个框架的作用可是很大的。想象一下,有一天老板说:“来,给你们一个任务,用机器学习的方法给咱们这些图片分类。”你们去Google查询了一下,发现这种图片分类任务用卷积神经网络来解决最好。但是你们很疑惑从头开始编写一个卷积神经网络是好做法吗?

Python的机器学习框架,也就是各种Python库,里面包含定义好的数据结构以及很多库函数、方法、模型等(即API)。我们只需要选择一个适合的框架,通过调用其中的API,编写少量代码,就可以快速建立机器学习模型了。为什么刚才的机器学习实战中只用了不到20行代码就能够完成预测加州房价这么“艰巨”的任务?其中最大的秘密就是使用了框架中的API。

良好的框架不仅易于理解,还支持并行化计算(即硬件加速),并能够自动计算微分、链式求导不明觉厉”是吧?不要紧,正因为框架把这些都做了,同学们就无须自己做这些不懂的东西。

下图中,给出了8个机器学习中常用的库。


8个机器学习常用的库

这8个库,可分为3大类:Pandas和Num Py提供数据结构,支持数学运算;Matplotlib和Seaborn用于数据可视化;后面4个库提供算法,其中的Scikit-learn是机器学习框架, Tesnsor Flow、Keras和Py Torch则是深度学习框架,可以选择一个来用。另有一些曾经有影响力的框架,如Theano、Caffe、CNTK等,随着“江山代有才人出”,使用率已经大大下降。而新的更方便的库呢?那也一定会继续涌现。

2.1 Pandas

https://pandas.pydata.org/

Pandas是一个Python机器学习库,Pandas是基于Numpy的一种工具,它提供了各种高级的工具用于进行数据分析。其中一项了不起的功能便是它可以用一两行代码就能实现复杂的数据操作。Pandas有许多内置的方法用于分组统计、合并数据、数据筛选、以及时间序列操作。所有的这些操作都有出色的性能表现。因此,使用Pandas通常用于数据挖掘任务。

2.2 Num Py

Numpy是公认的最受欢迎的Python机器学习库之一。Tensorflow以及其他的一些框架内部都使用了Numpy来对张量进行多种操作。数组接口是Numpy最佳及最重要的功能。这个接口可以用于把图像、音频、以及其他二进制流数据表示为多维实数数组。为了把这个库应用到机器学习中,掌握Numpy的操作对于开发者而言意义重大。

与Pandas的区别:
Numpy提供了用于多维数组的对象,而Pandas能够提供称为DataFrame的内存中二维表对象·;Pandas模块主要处理表格数据,而Numpy模块处理数字数据;与Pandas对比,Numpy消耗更少的内存。

2.3 Matplotlib


Matplotlib 是 Python 的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。

Matplotlib 可以用来绘制各种静态,动态,交互式的图表。

Matplotlib 是一个非常强大的 Python 画图工具,我们可以使用该工具将很多数据通过图表的形式更直观的呈现出来。

Matplotlib 可以绘制线图、散点图、等高线图、条形图、柱状图、3D 图形、甚至是图形动画等等。

2.4 Seaborn

Seaborn它基于 Matplotlib,用来制作统计图形的 Python 库。
Seaborn 的优势:

图表丰富,比 matplotlib 易用
与 pandas 结合
支持数值类型多变量关系图
支持数值类型数据分布图
支持类别类型数据可视化
支持回归模型以及可视化
轻松构建结构化多图网格

2.5 Scikit-learn

https://scikit-learn.org.cn/


Scikit-learn前面已经用过了。用于预测加州房价的机器学习模型Linear Regression就是直接从那儿“拎”出来的。

它简称Sklearn,是一个相当强大的Python机器学习库,也是简单有效的数据挖掘和数据分析工具。Sklearn基于Num Py、Sci Py和Matplotlib构建,其功能涵盖了从数据预处理到训练模型,再到性能评估的各个方面。

Scikit-learn真的太好用了,它里面包含的大量可以直接使用的机器学习算法,这节省了很多时间。因为不必重复编写算法,更多的精力可以放在问题定义、数据分析、调整参数、模型性能优化等这些具体项目相关的工作上面。

2.6 Tensor Flow

https://tensorflow.google.cn/

TensorFlow 是谷歌发布的深度学习开源的计算框架,该计算框架可以很好地实现各种深度学习算法,涉及自然语言处理、机器翻译、图像描述、图像分类等一系列技术。

简单来说,TensorFlow 为我们封装了大量机器学习、神经网络的函数,帮助我们高效地解决问题。

2.7 Keras

https://keras.io/zh/

Keras建立在TensorFlow、CNTK或Theano这些后端框架之上。这也就是说,Keras比TensorFlow更高级。在计算机领域,高级是“简单”的代名词。高级意味着易学易用。

Keras才出来没两年时,就已经大受欢迎,到现在已经是除Tensor Flow外最流行的、排行第二位的深度学习框架。

搞机器学习的人,就喜欢简单易用的工具。

其实,写Keras的时候是在对其后端进行调用,相当于还是在Tensor Flow上运行程序,只不过将程序经过Keras中转了一下变成Tensor Flow听得懂的语言,再交给Tensor Flow处理。

2.8 Py Torch

https://pytorch.org/

Py Torch是Tensor Flow的竞争对手,也是一个非常“优雅”的机器学习框架。相对Tensor Flow而言,Facebook开发的Py Torch上手相对简单一些,里面所有的算法都是用Python写的,源码也很简洁。近期Py Torch用户量的增长也是相当迅速的。

Python机器学习框架介绍相关推荐

  1. Python 机器学习框架

    NuPIC: Numenta Platform for Intelligent Computing NuPIC 是一个基于一种被称为分层式即时记忆(HTM/ Hierarchical Temporal ...

  2. 主流机器学习框架介绍

    1. Apache Spark MLlib Apache Spark 最为人所知的是它是Hadoop家族的一员,但是这个内存数据处理框架却是脱胎于Hadoop之外,也正在Hadoop生态系统以外为自己 ...

  3. Python单元测试框架介绍

    背景 为啥把单元测试框架介绍放到这里讲,其实主要是想讲pytest框架的应用.这也是应网友的心声.其实pytest框架我以前是用在实际项目中的,只是一直没有将实践过程和经验教训沉淀下来.如今,我想还是 ...

  4. python web框架介绍对比

    Django Python框架虽然说是百花齐放,但仍然有那么一家是最大的,它就是Django.要说Django是Python框架里最好的,有人同意也有人 坚决反对,但说Django的文档最完善.市场占 ...

  5. pytorch 安卓_兼容PyTorch、TF,史上最灵活Python机器学习框架发布 | 一周AI最火论文...

    大数据文摘出品 作者:Christopher Dossman 编译:Olivia.Joey.云舟 呜啦啦啦啦啦啦啦大家好,本周的AI Scholar Weekly栏目又和大家见面啦!AI Schola ...

  6. 常用Python机器学习库介绍

    Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库,再加上其简单.易学.速度快.开源免费.可移植性.可扩展性以及面向对象的特点,Python成为2017年最受欢迎的最受欢迎的编程 ...

  7. python机器学习框架

    转载奶爸码农,非常感谢大神分享.原文 随着2016年Alpha Go在围棋击败李世石,2017年初卡内基梅隆大学人工智能系统Libratus在长达20天的鏖战中,打败4名世界顶级德州扑克玩家,这标志着 ...

  8. 开源的python机器学习模块

    为了理解和应用机器学 习技术,你需要学习 Python 或者 R.这两者都是与 C.Java.PHP 相类似的编程语言.但是,因为 Python 与 R 都比较年轻, 而且更加"远离&quo ...

  9. python自动化测试框架哪个好_Python 自动化测试框架unittest与pytest的区别

    引言 前面一篇文章Python单元测试框架介绍已经介绍了python单元测试框架,大家平时经常使用的是unittest,因为它比较基础,并且可以进行二次开发,如果你的开发水平很高,集成开发自动化测试平 ...

最新文章

  1. Net设计模式实例之建造者模式(Builder Pattern)(2)
  2. Tableau必知必会之如何做嵌套组合饼图
  3. delphi如何让程序最小化到任务栏(使用Shell_NotifyIcon API函数)
  4. 基于Citus和ASP.NET Core开发多租户应用
  5. 前端学习(3029):vue+element今日头条管理-顶部导航栏布局
  6. while循环python的范围_python-无法在while循环中从列表中排除一定范围内的项目
  7. 两个企业级产品设计思路:流程效率指标功能生命周期长度
  8. 火币辟谣:警惕假冒火币生态链网站
  9. 研究生期间如何成为科研大佬?
  10. javascript的语法结构
  11. 为什么屠呦呦获得了诺贝尔奖却没被评上中科院院士?...
  12. Ubuntu18.04无法进入图形界面桌面的问题及解决
  13. Java打印折纸游戏
  14. c# .net 16进制转换10进制
  15. 《Spark机器学习》通读
  16. Omnet+Sumo+Veins安装配置总结(win7 win10亲测可行)
  17. 惊呆了!难道还有这么云盘的软件???再也不怕视频被和谐了!!
  18. 收编娘内幕整合版(高质量PDF版)
  19. [前端] marquee使用
  20. Machine learning K-Means课堂笔记

热门文章

  1. alooa是华为什么型号_华为pot_alooa是什么
  2. Chrome浏览器高效插件/外挂总结
  3. 易语言mysql删除记录_511遇见易语言教程数据库-删除
  4. ocr初始化失败怎么办_ocr识别 程序初始异常
  5. 动手学深度学习之Task09:目标检测基础;图像风格迁移;图像分类案例1
  6. Electron-vue第五章:新增一级菜单和子菜单
  7. 给她做一个专属微信聊天机器人
  8. C51单片机中,data、idata、xdata、pdata、code、bdata的区别,主要介绍data和idata之间的关系
  9. 有上下键的耳机不能切换上一首、下一首
  10. 校园考勤的好帮手:智能蓝牙定位手环