七个Python库:帮你构建第一个数据科学应用程序

开发 后端
我需要学习什么来创建第一个数据科学应用程序?Web 部署如何?我需要学习Flash或 Django的Web 应用程序吗?我需要学习TensorFlow 以进行深度学习应用程序吗?我应该如何创建用户界面?我也需要学习HTML、CSS 和JS吗?

本文转载自公众号“读芯术”(ID:AI_Discovery)

 当我开始学习数据科学的旅程时,这些都是我脑海中一直存在的问题。我学数据科学的目的不仅仅是为了开发模型或清理数据,我想制作人们可以使用的应用程序,我正在寻找一种快速的方法来制作MVP(最小可行产品)来测试想法。

[[391144]]

如果你是一名数据科学家,并想创建第一个数据科学应用程序,本文将展示创建第一个应用程序所需的7个Python库。相信你已经知道其中的一些,但是我还是会逐个介绍,方便那些对此并不十分了解的读者。

Pandas

数据科学和机器学习应用都是关于数据。大多数数据集都不是整洁的,它们需要对项目进行某种清理和操作。Pandas是一个库,允许加载、清理和操作数据。你可以使用SQL等替代方法进行数据操作和数据库管理,但是Pandas对于希望成为开发人员(或至少是MVP开发人员)的数据科学家来说更简单、更适用。

Numpy

在包括计算机视觉在内的许多数据科学项目中,阵列是最重要的数据类型。Numpy是一个强大的Python库,它允许你使用数组,操纵数组,并有效地对数组应用算法。学习Numpy对于我后面提到的其他一些库来说是必要的。

SciKitLearn

此库是多种类型的机器学习模型和预处理工具的工具包。如果你正在做机器学习项目,则有可能不需要SciKitLearn。

Keras 或 PyTorch

神经网络,特别是深度神经网络模型,是数据科学和机器学习中非常流行的模型。许多计算机视觉和自然语言处理方法都依赖于这些方法,使用某些Python库可以帮助你访问神经网络工具,TensorFlow是最有名的一个,但我相信初学者很难从 TensorFlow开始。

我建议你学习Keras,它是Tensorflow的接口(API)。Keras使你作为人类能够轻松测试不同的神经网络架构,甚至构建自己的神经网络架构,最近流行的另一个选择是PyTorch。

Ipywidgets

在用户界面方面,你必须在传统外观的用户界面和基于web的用户界面之间进行选择。你可以使用PyQT或TkInter之类的库来构建传统的用户界面,但我的建议是,如果可能的话,开发出可以在浏览器上运行的网页应用程序。

要做到这一点,你需要使用一个在浏览器中提供一组小部件的库。ipywidgets为Jupyter笔记本提供了一组丰富的小部件。

Requests

如今,许多数据科学应用程序都使用API(应用程序编程接口),简单地说,通过API,你可以请求服务器应用程序为你提供对数据库的访问权限或为你执行特定任务。

例如,Google地图API可以从你那里获得两个位置以及它们之间的回程时间,若没有API,就必须重新发明轮子,Requests是一个与API对话的库。如今,不使用API很难成为一名数据科学家。

Plotly

绘制不同类型的图形是数据科学项目的重要组成部分。尽管Python中最流行的绘图库是matplotlib,但我发现Plotly更专业、更易于使用、更灵活,Plotly中的绘图类型和绘图工具非常多,Plotly的另一个优点是它的设计,与复杂的 matplotlib 图形相比,它看起来更加简洁易懂。

JupyterNotebook 和Voila

要实现第一个数据科学应用程序,你需要学习的最后一个工具是最简单的。首先,ipywidgets在Jupyter笔记本中工作,你需要使用Jupyter来创建应用程序。我相信你们中的许多人已经在使用Jupyter笔记本进行模型构建和探索分析,现在,将 Jupyter 笔记本视为前端开发的工具。

此外,你还需要使用Voila,这是一个可以启动的第三方工具,它隐藏了 Jupyter 笔记本的所有代码部件。当你通过Voila启动Jupyter笔记本应用程序时,它就像一个web应用程序。甚至你也可以在AWS EC2机器上运行Voila和Jupyter笔记本,并从互联网访问你的简单应用程序。

利用本文提到的7个库,就可以构建人们使用的数据科学应用程序,如果你能够精通这些工具,就可以在几个小时内构建mvp,并通过实际用户测试想法。

在此之后,如果决定扩展应用程序,除了HTML、CSS和JS代码之外,还可以使用更专业的工具,如Flask和Django。

 

责任编辑:华轩 来源: 读芯术
相关推荐

2021-04-07 10:51:01

Python科学语言

2023-05-19 08:49:58

SQLAlchemy数据库

2011-06-08 10:24:38

Windows Pho 应用程序

2011-06-08 10:01:36

Windows Pho 应用程序

2013-01-11 14:45:43

iOS开发移动应用iPhone

2013-06-14 17:16:44

WP开发Windows PhoWP应用

2018-08-22 17:32:45

2011-06-14 15:32:26

Android视频教程

2013-01-14 09:44:58

JavaScriptJSJS框架

2011-04-02 10:08:21

webOS开发应用程序

2021-07-14 17:39:46

ReactRails API前端组件

2023-09-21 08:00:00

ChatGPT编程工具

2021-04-07 13:38:27

Django项目视图

2024-01-29 13:02:00

数据可视化库数组

2018-11-14 19:00:24

PythonRedis共享单车

2012-02-08 11:15:38

HibernateJava

2010-07-30 14:58:06

Flex应用

2021-10-29 16:18:14

Streamlit Python

2013-06-20 13:38:30

2018-11-08 13:53:15

Flink程序环境
点赞
收藏

51CTO技术栈公众号