一文总结数据科学家常用的Python库(下)
用于建模的Python库
我们已经到达了本文最受期待的部分 - 构建模型!这就是我们大多数人首先进入数据科学领域的原因,不是吗?
让我们通过这三个Python库探索模型构建。
Scikit-learn
就像用于数据操作的Pandas和用于可视化的matplotlib一样,scikit-learn是构建模型的Python库领导者。没有什么比得上它了。
事实上,scikit-learn建立在NumPy,SciPy和matplotlib之上。它是开源的,每个人都可以访问,并且可以在各种环境中重用。
以下是安装scikit-learn的代码:
pip install scikit-learnScikit-learn支持在机器学习中执行的不同操作,如分类,回归,聚类,模型选择等。
我还建议您浏览以下链接以了解有关scikit-learn的更多信息:
- Scikit-Python in Python - 我去年学到的最重要的机器学习工具! 
 (https://www.analyticsvidhya.com/blog/2015/01/scikit-learn-python-machine-learning-tool/)
TensorFlow 
TensorFlow由Google开发,是一个流行的深度学习库,可帮助您构建和培训不同的模型。它是一个开源的端到端平台。TensorFlow提供简单的模型构建,强大的机器学习生成,以及强大的实验工具和库。
TensorFlow提供多个抽象级别供您根据需要进行选择。它通过使用高级Keras API用于构建和训练模型,这使得TensorFlow入门和机器学习变得容易。
浏览此链接以查看安装过程:https://www.tensorflow.org/install。使用这些文章开始使用TensorFlow:
- TensorFlow 101:了解张量和图形,让您开始深度学习 - (https://www.analyticsvidhya.com/blog/2017/03/tensorflow-understanding-tensors-and-graphs/) 
- 使用Keras和TensorFlow在R中开始深度学习 
 (https://www.analyticsvidhya.com/blog/2017/06/getting-started-with-deep-learning-using-keras-in-r/)
PyTorch
什么是PyTorch?嗯,这是一个基于Python的科学计算包,可以用作:
- NumPy的替代品,可以使用GPU的强大功能 
- 深度学习研究平台,提供最大的灵活性和速度 
转到此处(https://pytorch.org/get-started/locally/)查看不同操作系统的安装过程。
PyTorch提供以下功能:
- 混合前端 
- 工具和库:一个活跃的研究人员和开发人员社区建立了丰富的工具和库生态系统,用于扩展PyTorch并支持从计算机视觉到强化学习等领域的开发 
- 云支持:PyTorch在主要云平台上得到很好的支持,通过预先构建的映像提供无摩擦的开发和轻松扩展,在GPU上进行大规模培训,在生产规模环境中运行模型的能力等等 
以下是有关PyTorch的两篇非常详细且易于理解的文章:
- PyTorch简介 - 一个简单而强大的深度学习库 
 (https://www.analyticsvidhya.com/blog/2018/02/pytorch-tutorial/)
- PyTorch入门 - 了解如何构建快速准确的神经网络(4个案例研究!) 
 (https://www.analyticsvidhya.com/blog/2019/01/guide-pytorch-neural-networks-case-studies/)
用于数据可解释性的Python库
你真的了解你的模型是如何工作的吗?你能解释为什么你的模型能够得出结果吗?这些是每个数据科学家应该能够回答的问题。构建黑盒模型在业界是没有用的。
所以,我已经提到了两个Python库,可以帮助您解释模型的性能。
LIME 
LIME是一种算法(和库),可以解释任何分类器或回归量的预测。LIME如何做到这一点?通过一个可解释的模型来近似它。灵感来自“为什么我应该相信你?”:解释任何分类器的预测“,这个模型解释器可用于生成任何分类算法的解释器。
安装LIME很简单:
pip install lime本文将帮助构建LIME背后的直觉和模型解释性:
- 在机器学习模型中建立信任(在Python中使用LIME) 
 (https://www.analyticsvidhya.com/blog/2017/06/building-trust-in-machine-learning-models/)
H2O 
我相信很多人都会听说过H2O.ai. 他们是自动化机器学习的市场领导者。但是你知道他们在Python中也有一个模型可解释性库吗?
H2O的无人驾驶AI提供简单的数据可视化技术,用于表示高度特征交互和非线性模型行为。它通过可视化提供机器学习可解释性(MLI),阐明建模结果和模型中特征的影响。
通过以下链接阅读有关H2O的无人驾驶AI执行MLI的更多信息。
- 机器学习可解释性 
 (https://www.h2o.ai/wp-content/uploads/2018/01/Machine-Learning-Interpretability-MLI_datasheet_v4-1.pdf)
用于音频处理的Python库
音频处理或音频分析是指从音频信号中提取信息和含义以进行分析或分类或任何其他任务。它正在成为深度学习中的一种流行功能,所以要留意这一点。
LibROSA
LibROSA是一个用于音乐和音频分析的Python库。它提供了创建音乐信息检索系统所需的构建块。
单击此链接(https://librosa.github.io/librosa/install.html)以查看安装详细信息。
这是一篇关于音频处理及其工作原理的深入文章:
- 使用深度学习开始使用音频数据分析(带案例研究) 
 (https://www.analyticsvidhya.com/blog/2017/08/audio-voice-processing-deep-learning/)
Madmom 
这个名字可能听起来很有趣,但Madmom是一个非常漂亮的音频数据分析Python库。它是一个用Python编写的音频信号处理库,主要关注音乐信息检索(MIR)任务。
您需要先安装以下库才能安装Madmom:
- NumPy 
- SciPy 
- Cython 
- Mido 
您需要以下软件包来测试安装是否成功:
- PyTest 
- PyAudio 
- PyFftw 
安装Madmom的代码:
pip install madmom我们甚至有一篇文章要了解Madmom如何用于音乐信息检索:
- 学习音乐信息检索的音频节拍跟踪(使用Python代码) 
 (https://www.analyticsvidhya.com/blog/2018/02/audio-beat-tracking-for-music-information-retrieval/)
pyAudioAnalysis
pyAudioAnalysis是一个用于音频特征提取,分类和分段的Python库。它涵盖了广泛的音频分析任务,例如:
- 对未知声音进行分类 
- 检测音频事件并排除长时间录音中的静音时段 
- 执行有监督和无监督的分割 
- 提取音频缩略图等等 
您可以使用以下代码安装它:
pip install pyAudioAnalysis用于图像处理的Python库
如果您正在寻找数据科学行业的角色,您必须学习如何使用图像数据。随着组织能够收集越来越多的数据(主要得益于计算资源的进步),图像处理正变得无处不在。
因此,请确保您对以下三个Python库中的至少一个感到满意。
OpenCV-Python 
谈到图像处理,OpenCV是我想到的第一个名字。OpenCV-Python是用于图像处理的Python API,它结合了OpenCV C ++ API和Python语言的最佳特性。
它主要用于解决计算机视觉问题。
OpenCV-Python使用了我们在上面看到的NumPy。所有OpenCV阵列结构都与NumPy数组进行转换。这也使得与使用NumPy的其他库(如SciPy和Matplotlib)集成更容易。
在您的系统中安装OpenCV-Python:
pip3 install opencv-python以下是两个关于如何在Python中使用OpenCV的流行教程:
- 使用深度学习从视频构建人脸检测模型(Python实现) 
 (https://www.analyticsvidhya.com/blog/2018/12/introduction-face-detection-video-deep-learning-python/)
- 16个OpenCV函数启动计算机视觉之旅(使用Python代码) 
 (https://www.analyticsvidhya.com/blog/2019/03/opencv-functions-computer-vision-python/)
Scikit-image 
图像处理的另一个python库是Scikit-image。它是用于执行多个和不同图像处理任务的算法集合。
您可以使用它来执行图像分割,几何变换,色彩空间操作,分析,过滤,形态学,特征检测等等。
我们需要在安装scikit-image之前使用以下软件包:
- Python(> = 3.5) 
- NumPy(> = 1.11.0) 
- SciPy(> = 0.17.0) 
- joblib(> = 0.11) 
这就是你可以在你的机器上安装scikit-image的方法:
pip install -U scikit-learnPillow 
Pillow是PIL(Python ImagingLibrary)的新版本。它是从PIL派生出来的,在Ubuntu等一些Linux发行版中已被用作原始PIL的替代品。
Pillow提供了几种执行图像处理的标准程序:
- 每像素操作 
- 掩蔽和透明处理 
- 图像过滤,例如模糊,轮廓,平滑或边缘查找 
- 图像增强,例如锐化,调整亮度,对比度或颜色 
- 向图像添加文字等等! 
如何安装Pillow?这很简单:
pip install Pillow查看以下AI漫画,了解Pillow在计算机视觉中的使用:
- AI Comic:ZAIN - 问题#2:使用计算机视觉进行面部识别 
 (https://www.analyticsvidhya.com/blog/2019/06/ai-comic-zain-issue-2-facial-recognition-computer-vision/)
用于数据库的Python库
学习如何从数据库存储,访问和检索数据是任何数据科学家必备的技能。你根本无法摆脱角色的这个方面。构建模型很棒但是如果不首先检索数据,你会怎么做?
我选择了两个与SQL相关的Python库,你可能会发现它们很有用。
psycopg 
Psycopg是最受欢迎的PostgreSQL(一种用于Python编程语言的高级开源关系数据库)适配器。Psycopg的核心是完全实现Python DB API 2.0规范。
目前的psycopg2实现支持:
- Python版本2.7 
- Python 3版本从3.4到3.7 
- PostgreSQL服务器版本从7.4到11 
- 9.1的PostgreSQL客户端库版本 
以下是如何安装psycopg2的方法:
pip install psycopg2/* SQLAlchemy */
啊,SQL。最流行的数据库语言。SQLAlchemy是一个Python SQL工具包和Object Relational Mapper,它为应用程序开发人员提供了SQL的全部功能和灵活性。
它旨在实现高效,高性能的数据库访问。SQLAlchemy认为数据库是关系代数引擎,而不仅仅是表的集合。
要安装SQLAlchemy,您可以使用以下代码行:
pip install SQLAlchemy用于部署的Python库
你知道什么型号的部署?如果没有,你应该尽快学习。部署模型意味着将最终模型放入最终应用程序(或技术上称为生产环境)。
Flask 
Flask是一个用Python编写的Web框架,通常用于部署数据科学模型。Flask有两个组成部分:
- Werkzeug:它是Python编程语言的实用程序库 
- Jinja:它是Python的模板引擎 
查看下面的示例以打印“Hello world”:
from flask import Flaskapp = Flask(__name__)@app.route("/")def hello(): return "Hello World!"if __name__ == "__main__": app.run()import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
if __name__ == "__main__":
 app.run()以下文章是学习Flask的一个很好的起点:
- 在生产中将机器学习模型部署为API的教程(使用Flask) 
 (https://www.analyticsvidhya.com/blog/2017/09/machine-learning-models-as-apis-using-flask/)
结束笔记
在本文中,我们看到了一大堆python库,它们在进行数据科学项目时常用。那里有更多的库,但这些是每个数据科学家应该知道的核心库。
我错过了任何Python库?或者我们列表中您特别有用的任何库?请在下面的评论部分告诉我们!
文章来源:https://www.analyticsvidhya.com/blog/2019/07/dont-miss-out-24-amazing-python-libraries-data-science/
欢迎关注磐创博客资源汇总站:
http://docs.panchuang.net/
欢迎关注PyTorch官方中文教程站:
http://pytorch.panchuang.net/
一文总结数据科学家常用的Python库(下)的更多相关文章
- 一文总结数据科学家常用的Python库(上)
		概述 这篇文章中,我们挑选了24个用于数据科学的Python库. 这些库有着不同的数据科学功能,例如数据收集,数据清理,数据探索,建模等,接下来我们会分类介绍. 您觉得我们还应该包含哪些Python库 ... 
- 总结数据科学家常用的Python库
		概述 这篇文章中,我们挑选了24个用于数据科学的Python库. 这些库有着不同的数据科学功能,例如数据收集,数据清理,数据探索,建模等,接下来我们会分类介绍. 您觉得我们还应该包含哪些Python库 ... 
- Web 开发和数据科学家仍是 Python 开发的两大主力
		由于 Python 2 即将退役,使用 Python 3 的开发者大约为 90%,Python 2 的使用量正在迅速减少.而去年仍有 1/4 的人使用 Python 2. Web 开发和数据科学家仍是 ... 
- 3 个用于数据科学的顶级 Python 库
		使用这些库把 Python 变成一个科学数据分析和建模工具. Python 的许多特性,比如开发效率.代码可读性.速度等使之成为了数据科学爱好者的首选编程语言.对于想要升级应用程序功能的数据科学家和机 ... 
- (转载)常用的Python库
		http://forum.ubuntu.com.cn/viewtopic.php?f=63&t=249573&p=2640959 Tkinter ---- Python默认的图形界面接 ... 
- 安全人员常用的python库
		如果你对漏洞挖掘.逆向工程分析或渗透测试感兴趣的话,我第一个要推荐给你的就是Python编程语言.Python不仅语法简单上手容易,而且它还有大量功能强大的库和程序可供我们使用.在这篇文章中,我们会给 ... 
- 常用的python 库地址
		来源 https://pypi.python.org/pypi wordcloud https://github.com/amueller/word_cloud.git jieba https: ... 
- 记录一些常用的python库、软件或者网址
		1.数据收集 BeautifulSoup.scrapy.selenium.requests 2.数据分析 pandas.numpy.pyDD.spacy 3.数据可视化 matplotlib.seab ... 
- 为什么数据科学家们选择了Python语言?
		本文由 伯乐在线 - HanSir 翻译,toolate 校稿 英文出处:Quora [伯乐在线导读]:这个问题来自 Quora,题主还补充说,“似乎很多搞数据的程序员都挺擅长 Python 的,这是 ... 
随机推荐
- sql--测试商品的重要度,是否需要及时补货
			表1:商品表 表2:商品售卖表 需求:算出商品的平均点击率.平均销售.商品受欢迎度 1.使用inner join查出每件商品的点击率和销售额度 ) as selas from test a left ... 
- 【读书笔记】https://source.android.google.cn/compatibility/tests?hl=en
			AuthorBlog:秋城https://www.cnblogs.com/houser0323/ Android Platform Testing This content is geared tow ... 
- MVC三层架构
			需求: 注册登录: # 知识补充: >> MVC模型: |-- M 模型: |-- V 视图: |-- >> 基本概念: |-- 层级之间的调用关系: |-- V层接收前台数据 ... 
- 从头认识js-基本概念(关键字,保留字,数据类型)
			语法 ECMAScript的语法大量借鉴了C及其他类C语言(如Java和Perl)的语法.因此,熟悉这些语言的开发人员在接受ECMSAScript更加宽松的语法时,一定会有一种轻松自在的感觉. 区分大 ... 
- webapck之多页面打包(常见)
			webpack多入口打包 let path = require('path'); elt HtmlWebpackPlugin = require('html-webpack-plugin'); mod ... 
- MongoDB Compass最新版(v_1.20.5)远程连接数据库
			最近下载了最新版本的MongoDB Compass(v_1.20.5)后才发现软件较之前的版本有了很大的变化,主要体现在创建连接页面和连接方式上. 这是旧版的连接页面,所有的参数项以表单的形式列出,直 ... 
- 关于在layui中的table checkbox 默认选中设置
			一.layui版本 layui-v2.4.5 二.设置table的checkbox默认选中 总共有两种方法: 方法1:在返回的json中设置LAY_CHECKED为true,页面上的checkbox就 ... 
- 峰哥说技术:08-Spring Boot整合FreeMarker视图
			Spring Boot深度课程系列 峰哥说技术—2020庚子年重磅推出.战胜病毒.我们在行动 08 峰哥说技术:Spring Boot整合FreeMarker视图 前面带着大家整合了Thymelea ... 
- 如何在PHP7中扩展mysql,先安装php7.2。后安装mysql
			相对与PHP5,PHP7的最大变化之一是移除了mysql扩展,推荐使用mysqli或者pdo_mysql,实际上在PHP5.5开始,PHP就着手开始准备弃用mysql扩展,如果你使用mysql扩展,可 ... 
- Java基础 - Date的相关使用(获取系统当前时间)
			前言: 在日常Java开发中,常常会使用到Date的相关操作,如:获取当前系统时间.获取当前时间戳.时间戳按指定格式转换成时间等.以前用到的时候,大部分是去网上找,但事后又很快忘记.现为方便自己今后查 ... 
