2020之最:最实用的机器学习工具有哪些?

作者: 读芯术 2020-03-31 18:47:22

就如同制作米其林菜肴,拥有井井有条的厨房固然重要,但可选择的东西太多也着实让人烦恼,建立良好的机器学习(ML)应用程序也是如此。

所以,小编将重点介绍一些可用于交付专业项目的工具,分享想法和备选方案,并开展一个快速的调查。任何关于工具的讨论给出的选项总是无法穷尽,但下面这几种将是最有用和最简单的。

当然啦,如果你有其他更好的选择,也欢迎在评论区告诉小芯。(免责声明:本帖未署名,且未受到赞助。小编将数据科学和机器学习两个名词互换使用。)

机器学习

常见问题

“如何构建优秀的机器学习应用程序?”

与数据科学家、正在寻求转型的专业人员以及团队经理沟通的过程中,这个问题以各种形式多次出现。

交付专业数据科学项目涉及很多方面,实际上它在厨房做饭很相似:有原料(数据)、食谱(设计)、烹饪过程(独到的方法)、最后是实际的厨房(工具)。

本文遍历了小编的“厨房”,重点介绍了在设计、开发和部署全栈机器学习应用程序中最有用的工具——这些解决方案或与系统融合,或能够在生产环境中服务于用户。

势不可挡的可能性

这是最好的时代。如果在谷歌中搜索“机器学习工具”或咨询顾问,可能会得到以下信息:

2020之最:最实用的机器学习工具有哪些?

2019数据&人工智能全景 | 图源:GIPHY

你能得到太多的工具,组合的可能性是无限的,这势不可挡,却也令人迷茫。你需要去缩小范围。但要注意的是,完美的安装依旧不存在,而这取决于用户的需求和限制条件。简而言之,最适合的才是最好的。

小编的优先列表如下(无先后之分):

  • 免费
  • 工程大于研究
  • 易于学习和安装
  • 只要能完成工作就好
  • 久经考验的(应用程度&工具成熟度)
  • 在创业或大型企业被应用于大型或小型项目

注意:小编99%的时间里都会使用Python 。因此,本文推荐的工具要么和Python完美适配,要么本地就有Python。小编尚未使用其他编程语言(例如R或Java)对它们进行测试。

冰箱:数据库

PostgreSQL

这是一个免费的开源关系数据库管理系统(RDBMS),拥有可扩展性和技术标准合规性。它旨在处理各种工作负载,包括单台机器、数据仓库或拥有多个并发用户的Web服务。

2020之最:最实用的机器学习工具有哪些?

图源:medium.com

备选方案: MySQL、SAS、IBM、DB2、Oracle、MongoDB、Cloudera、GCP、 AWS、Azure

厨房台面:部署Pipeline工具

Pipeline工具对于开发的速度和质量至关重要。这一工具的目标是在最少人为干预的情况下快速进行迭代。小编有一个运行良好的安装教程,想要知道更多详细信息,请参阅我的文章——12小时机器学习挑战,想“偷懒”一定要尽早尝试~

(https://towardsdatascience.com/build-full-stack-ml-12-hours-50c310fedd51)

2020之最:最实用的机器学习工具有哪些?

小编的作品:12-小时机器学习挑战

Pytest

架构使编写小型测试变得容易,但需扩展之后,才支持针对应用程序和库的复杂功能测试。它节省了手动测试的大量时间,如果每次更改代码都需要测试某些东西,Pytest的自动化将会帮助到你。

备选方案: Unittest

Github

它提供了Git的分布式版本控制和源代码管理(SCM)功能,当然还包括自带的功能。它为每个项目提供访问控制和多种协作功能,例如功能请求、错误跟踪、任务管理和wikis。

备选方案: BitBucket, GitLab,DVC

PyCharm 社区版

这是一个在计算机编程中使用的集成开发环境(IDE),专门用于Python语言。它是由捷克JetBrains公司开发的,提供代码分析、图形调试器、集成的单元测试器与版本控制系统(VCS)集成,并支持使用Django进行Web开发以及使用Anaconda进行数据科学研发。

备选方案: Atom, Sublime

Heroku (仅当用户需要网络托管时)

2020之最:最实用的机器学习工具有哪些?

图源:heroku.com

平台即服务(PaaS),使开发人员可以完全对应用程序进行云构建,云运行和云操作。与CircleCI和Github集成后也可以启用自动部署。

备选方案: Google App Engine, AWS Elastic Compute Cloud, others

Streamlit (仅在用户需要交互式UI时)

Streamlit是面向机器学习和数据科学团队的开源应用程序框架。它是小编近年来最喜欢的工具之一。在小编的12小时机器挑战中,你可以看到该如何使用它以及本节中的其他工具来创建电影和模拟应用程序。

备选方案: Flask, Django, Tableau

CircleCi

CircleCI是一个持续集成和部署工具。当你将自己的项目提交到Github时,这一工具能使用远程docker创建一个自动化的测试工作流。任何未通过PyTest设置测试用例而提交的项目都会被Circle CI拒绝。这样可以确保代码质量,这点在于大团队合作时尤其重要。

备选方案: Travis CI, Jenkins,Github Action

the iPad: 探索工具

Streamlit (又见面了~)

别再留恋Jupyter Notebook了!

Jupyter曾经是小编的首选工具,它可用于数据探索,分析,并利用不同的数据和建模过程进行实验。但下面这种令人沮丧的情况,已经记不清有多少次:

  • 绞尽脑汁进行调试,但最终意识到自己忘记了从头开始运行代码;Streamlit可以解决这个问题。
  • 总是需要等一会儿才能重新运行数据pipeline;Steamlit缓存可解决此问题。
  • 不得不将代码从Jupyter重写或转换为可执行文件,还要在重新测试上花费时间;Streamlit提供了一个解决问题的快捷方式。

所以,小编顺理成章地转而使用Streamlit进行早期探索并服务于最终的前端。以下是小编常用的屏幕设置。左侧为PyCharmIDE,右侧为结果可视化。

2020之最:最实用的机器学习工具有哪些?

IDE+ Streamlit的实时更新 | 图源:towardsdatascience

备选方案: Jupyter Notebook、Anaconda、Spyder from、Microsoft Excel (认真脸!)

刀子:机器学习架构

你应该根据食物和切割方式选择合适的刀具,比如通用刀和专用刀。

当心!尽管寿司专用刀更加亮丽,但使用专用刀将寿司切成块状将花费很长时间。要选择正确的工具来完成工作。

Sklearn (常见的机器学习使用案例)

这是在Python中进行通用机器学习的首选框架,有它就足够了。

2020之最:最实用的机器学习工具有哪些?

图源:scikit-learn.org

备选方案:none、period.

Open AI Gym (强化学习使用案例)

这是一个开发和比较强化学习算法的工具包,它提供API和可视环境。许多社区都在争先为该领域构建工具,不过可用的完整安装包还不多。

备选方案:许多小型项目,但多数的维护工作都不如Gym。

PyTorch (深度学习使用案例)

这是一个基于Torch库的开源机器学习库。深度学习是此库重点,它主要用于计算机视觉和自然语言处理等应用。Torch主要由Facebook的人工智能研究实验室(FAIR)开发。最近,许多著名的人工智能研究机构,例如Open AI,都使用PyTorch作为其标准工具。

备选方案: Tensorflow、 Keras、Fast.ai

火炉:实验管理

Atlas

这是一个免费工具,可让数据科学家使用一些摘要进行实验,将结果显示在基于Web的仪表板上。

2020之最:最实用的机器学习工具有哪些?

Atlas 程序 | 图源:atlas.dessa.com

(免责声明:小编供职于Dessa, 该公司创建了Altas。)

备选方案: ML Flow、Weights & Biases、Data Robot、SageMaker、Comet、Domino

另一种观点

没有完美的安装,一切都取决于你的需求和限制条件。下图展示了另一种想法,也是关于何种工具可用以及它们如何一起工作。

2020之最:最实用的机器学习工具有哪些?

谢尔盖·卡拉耶夫在2019年全栈深度学习中的演讲

迷你挑战

想要了解这些工具,最好的方法是找一个项目开始操作。你可以将这些工具合并到当前项目中,也可以进行一个12小时机器学习挑战。

我看好你哟~

机器学习 ML 应用程序
上一篇:令人兴奋的 2020 年人工智能和机器学习趋势 下一篇:我们对人工智能的误解有多深
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

机器学习:物联网成功的诀窍?

通过机器学习,物联网可以完美地运行。全球各地的组织正在竞相利用物联网的能力,但是,其中许多组织都被我们讨论过的一个或多个障碍所困扰。不过,不管您遇到什么问题,都可以通过结合了机器学习技术的方法来解决。

iothome ·  10h前
在网络安全领域应用机器学习的困难和对策

网络安全领域的独特对抗属性给人工智能应用落地带来了重重困难,但我们并不认为这最终会阻碍人工智能成为网络安全利器。

安全狗safedog ·  1天前
5个杰出的商业机器学习用例

现在是仔细研究ML的好时机,看看您如何将其应用到您的业务中。下面是企业将ML应用到产品和服务创新的5种方式。

物联网IoT996 ·  4天前
技术的本质:计算机如何塑造我们的社会?

技术伦理是个永恒的话题。笔者常常思考这样的问题,计算机科学家是如何将伦理内容与价值观编码到机器学习算法中的,机器学习设计师又该怎样更好地了解自己的设计会给社会带来的影响。

读芯术 ·  4天前
5行代码,快速实现图像分割,代码逐行详解,手把手教你处理图像

图像分割,作为计算机视觉的基础,是图像理解的重要组成部分,也是图像处理的难点之一。

金磊 ·  4天前
520快手送“男朋友”GAN生成对抗网络助力单身狗“顺利脱单”

“官宣官宣了,我男朋友帅吧”。昨天是520网络情人节,数万人在快手官宣脱单,这是怎么做到的?原来是快手上线了一款视频特效,让单身的小伙伴们瞬间甜蜜分身,“顺利脱单”。这是快手为用户准备的一系列520特效中的一款,受到用户欢迎。

佚名 ·  4天前
谷歌中国工程师提出颠覆性算法模型,Waymo实测可提高预测精准度

“周围的车辆和行人在接下来数秒中会做什么?”要实现安全的自动驾驶,这是一个必须回答的关键问题,这也就是自动驾驶领域中的行为预测问题。

DeepTech深科技 ·  4天前
如何使用支持向量机学习非线性数据集

什么是支持向量机呢?支持向量机是监督机器学习模型,可对数据进行分类分析。实际上,支持向量机算法是寻找能将实例进行分离的优秀超平面的过程。

不靠谱的猫 ·  2020-05-21 09:02:37
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载