近几年,Python 在数据科学行业的发展十分迅猛,也正因为如此,对于希望提升应用程序功能的数据科学家和机器学习专家来说,Python通常是首选编程语言。并且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。
本文来源:www.lxlinux.net/9205.html,若引用不当,请联系修改。