共计 1765 个字符,预计需要花费 5 分钟才能阅读完成。
导读 | 当我开始学习数据科学的旅程时,这些都是我脑海中一直存在的问题。我学数据科学的目的不仅仅是为了开发模型或清理数据,我想制作人们可以使用的应用程序,我正在寻找一种快速的方法来制作 MVP(最小可行产品)来测试想法。 |
如果你是一名数据科学家,并想创建第一个数据科学应用程序,本文将展示创建第一个应用程序所需的 7 个 Python 库。相信你已经知道其中的一些,但是我还是会逐个介绍,方便那些对此并不十分了解的读者。
数据科学和机器学习应用都是关于数据。大多数数据集都不是整洁的,它们需要对项目进行某种清理和操作。Pandas 是一个库,允许加载、清理和操作数据。你可以使用 SQL 等替代方法进行数据操作和数据库管理,但是 Pandas 对于希望成为开发人员 (或至少是 MVP 开发人员) 的数据科学家来说更简单、更适用。
在包括计算机视觉在内的许多数据科学项目中,阵列是最重要的数据类型。Numpy 是一个强大的 Python 库,它允许你使用数组,操纵数组,并有效地对数组应用算法。学习 Numpy 对于我后面提到的其他一些库来说是必要的。
此库是多种类型的机器学习模型和预处理工具的工具包。如果你正在做机器学习项目,则有可能不需要 SciKitLearn。
神经网络,特别是深度神经网络模型,是数据科学和机器学习中非常流行的模型。许多计算机视觉和自然语言处理方法都依赖于这些方法,使用某些 Python 库可以帮助你访问神经网络工具,TensorFlow 是最有名的一个,但我相信初学者很难从 TensorFlow 开始。
我建议你学习 Keras,它是 Tensorflow 的接口(API)。Keras 使你作为人类能够轻松测试不同的神经网络架构,甚至构建自己的神经网络架构,最近流行的另一个选择是 PyTorch。
在用户界面方面,你必须在传统外观的用户界面和基于 web 的用户界面之间进行选择。你可以使用 PyQT 或 TkInter 之类的库来构建传统的用户界面,但我的建议是,如果可能的话,开发出可以在浏览器上运行的网页应用程序。
要做到这一点,你需要使用一个在浏览器中提供一组小部件的库。ipywidgets 为 Jupyter 笔记本提供了一组丰富的小部件。
如今,许多数据科学应用程序都使用 API(应用程序编程接口),简单地说,通过 API,你可以请求服务器应用程序为你提供对数据库的访问权限或为你执行特定任务。
例如,Google 地图 API 可以从你那里获得两个位置以及它们之间的回程时间,若没有 API,就必须重新发明轮子,Requests 是一个与 API 对话的库。如今,不使用 API 很难成为一名数据科学家。
绘制不同类型的图形是数据科学项目的重要组成部分。尽管 Python 中最流行的绘图库是 matplotlib,但我发现 Plotly 更专业、更易于使用、更灵活,Plotly 中的绘图类型和绘图工具非常多,Plotly 的另一个优点是它的设计,与复杂的 matplotlib 图形相比,它看起来更加简洁易懂。
要实现第一个数据科学应用程序,你需要学习的最后一个工具是最简单的。首先,ipywidgets 在 Jupyter 笔记本中工作,你需要使用 Jupyter 来创建应用程序。我相信你们中的许多人已经在使用 Jupyter 笔记本进行模型构建和探索分析,现在,将 Jupyter 笔记本视为前端开发的工具。
此外,你还需要使用 Voila,这是一个可以启动的第三方工具,它隐藏了 Jupyter 笔记本的所有代码部件。当你通过 Voila 启动 Jupyter 笔记本应用程序时,它就像一个 web 应用程序。甚至你也可以在 AWS EC2 机器上运行 Voila 和 Jupyter 笔记本,并从互联网访问你的简单应用程序。
利用本文提到的 7 个库,就可以构建人们使用的数据科学应用程序,如果你能够精通这些工具,就可以在几个小时内构建 mvp,并通过实际用户测试想法。
在此之后,如果决定扩展应用程序,除了 HTML、CSS 和 JS 代码之外,还可以使用更专业的工具,如 Flask 和 Django。