Python机器学习的生态系统
Python生态系统正在不断成长,并可能成为机器学习的统治平台。
采用Python进行机器学习的主要原因是:它是一种通用编程语言,这意味着它可以用于研究、开发以及生产过程中。
在本文中,您将了解Python的机器学习生态系统。
上图由Stewart Black拍摄,版权所有。
Python
Python是一种通用的解释型编程语言。由于语言的重心在于可读性,所以可以很容易地学习和使用它。
Python的哲学体现在Python之禅(Zen of Python)中,其中包括这样的短语:
- 美丽胜过丑陋。
- 明了胜过隐晦。
- 简单胜过复杂。
- 复杂胜过混乱。
- 扁平胜过嵌套。
- 稀疏胜过密集。
- 可读性很重要。
你可以在你的Python环境中看到完整的Python之禅,只要输入:
import this
Python是一种普遍流行的语言,一直位于StackOverflow编程语言调查的前10之列(例如2015年的调查结果)。它一种动态的语言,并且非常适合交互式开发和大型应用程序的快速原型开发。
由于优秀的库支持,并且它本身是一种通用编程语言(与R或Matlab不同),因此它也被广泛用于机器学习和数据科学领域。例如,2011年Kaggle平台调查结果和2015年KDD Nuggets工具调查结果。
这是一个简单但是非常重要的考虑因素。
这意味着您可以使用同样的编程语言来进行您的研究和开发(确定要使用什么模型)。这大大简化了从开发到上线的过渡。
SciPy
SciPy是Python库的一个生态系统,它用于数学,科学和工程领域。它是Python的附加组件,您可以在机器学习领域使用它。
SciPy生态系统由以下与机器学习相关的核心模块组成:
- NumPy:SciPy的基础,允许您高效地处理数组中的数据。
- Matplotlib:允许您根据数据创建二维图表和图形。
- pandas:用于组织和分析数据的工具和数据结构。
为了在Python中使用机器学习,您必须安装并熟悉SciPy。特别是以下几个方面:
- 您将使用pandas加载、探索和更好地了解您的数据。
- 您将使用Matplotlib(以及其他框架中的Matplotlib的封装)来创建数据的图形和图表。
- 您将将您的数据转为NumPy矩阵形式,以方便在机器学习算法中建模。
您可以在帖子中了解更多关于pandas的信息。用pandas准备机器学习的数据 和使用pandas进行快速的脏数据分析。
scikit-learn
scikit-learn是用于开发和实践机器学习的python库。
它建立在SciPy生态系统的基础之上。“scikit” 这个名字表明它是一个SciPy插件或工具包。您可以查看SciKits完整列表。
scikit-learn的重点是用于分类、回归,聚类等的机器学习算法。它还提供相关的工具,如模型评估,参数调整和数据预处理。
同Python和SciPy一样,scikit-learn是开放源代码的并且在BSD许可证下商业软件可以使用它。这意味着您可以学习机器学习,开发模型,并将它们放入具有相同生态系统和代码的操作中。这是使用scikit-learn的强有力理由。
您可以在后面的scikit-learn简介中了解更多关于scikit-learn的内容。
Python生态系统安装
有多种方法可以安装Python的机器学习生态系统。在本节中,我将介绍其中一种安装方法。
如何安装Python
第一步是安装Python。我更喜欢使用和推荐Python2.7。
安装方式同您的平台有关。有关说明,请参阅Python入门指南中的下载Python。
安装完成后,您可以确认是否安装成功。打开命令行并输入:
python --version
看到类似下面的回应,表明安装成功:
Python 2.7.11
如何安装SciPy
有很多方法可以安装SciPy。例如,两种常用的方法是使用你的平台上的包管理(例如,在RedHat上的yum或在macOS上的macports)或者Python的包管理工具,例如pip。
SciPy的文档非常出色,在安装SciPy上涵盖了多个不同平台的安装说明。
安装SciPy时,请确保已经安装以下软件包:
- scipy
- numpy
- matplotlib
- pandas
安装完成后,您可以确认安装是否成功。在命令行中输入“ python” 来打开python交互式环境,然后键入并运行下面的python代码来打印已安装库的版本。
# scipy
import scipy
print('scipy: %s' % scipy.__version__)
# numpy
import numpy
print('numpy: %s' % numpy.__version__)
# matplotlib
import matplotlib
print('matplotlib: %s' % matplotlib.__version__)
# pandas
import pandas
print('pandas: %s' % pandas.__version__)
当我发布本文时,在我的工作站上可以看到以下输出。
scipy: 0.17.0
numpy: 1.10.4
matplotlib: 1.5.1
pandas: 0.17.1
如果您遇到错误,可能需要查阅您平台的相关文档。
如何安装scikit-learn
我建议你使用同安装SciPy一样的方法来安装scikit-learn。
这是安装scikit-learn的说明,但是它们仅限于使用Python pip(https://en.wikipedia.org/wiki/Pip_(package_manager%2529%29) 和conda软件包管理器。
像SciPy一样,您可以确认scikit-learn是否已成功安装。启动您的Python交互式环境键入并运行以下代码。
# scikit-learn
import sklearn
print('sklearn: %s' % sklearn.__version__)
它将打印安装的scikit-learn库的版本。在我的工作站上,可以看到以下输出:
sklearn: 0.17.1
如何安装生态系统:更简单的方法
如果您对在您的机器上安装软件没有信心,那么为您提供更简单的一种方法。
有一个叫做Anaconda的发行版,你可以免费下载和安装。
它支持Microsoft Windows,Mac OS X和Linux三大主要平台。
它包括Python,SciPy和scikit-learn,任何您在Python环境下学习,实践和使用机器学习所需要的东西。
总结
在本文中,我介绍了Python的机器学习生态系统。
你可以了解到:
- Python是什么和它在机器学习中被使用地越来越多。
- SciPy是什么和3大核心模块NumPy,Matplotlib和Pandas提供的功能。
- scikit-learn提供了所有的机器学习算法。
您还学习了如何在工作站上安装用于机器学习的Python生态系统。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Tidyverse补充
- 抖音关键词热度搜索小程序(附源码)
- python自定义函数基础
- Python-科学计算-pandas-13-列名/删除列/替换nan
- python小程序,45行代码实现可切换版代码雨(附源码)
- R海拾遗-stringr
- stringr2
- Kubernetes 无状态应用的一般特征
- 一段简单的代码,能让所有GIF图实现时光倒流
- 你喜欢的女主播颜值多少分,今天带你测试虎牙直播女主播的颜值
- (译)kubectl 的奇技淫巧
- Python实现主播人气排行榜,带你发现人气王
- (译)Kubernetes:移除 CPU 限制,服务运行更快
- python_不误正业之贪吃蛇
- 如何让你在众多二手车中挑中满意的?python帮你实现(附源码)