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

就好像制造米其林菜肴,具有有条不紊的厨房当然重要,但可挑选的东西太多也着实让人烦恼,树立杰出的机器学习(ML)运用程序也是如此。

所以,小编将要点介绍一些可用于交给专业项目的东西,共享主意和备选计划,并展开一个快速的查询。任何关于东西的谈论给出的选项总是无法尽头,但下面这几种将是最有用和最简略的。

当然啦,假如你有其他更好的挑选,也欢迎在谈论区告知小芯。(免责声明:本帖未署名,且未受到资助。小编将数据科学和机器学习两个名词交换运用。)

机器学习 2020之最:最有用的机器学习东西有哪些?  ML 应用程序 第1张

常见问题

“怎么构建优异的机器学习运用程序?”

与数据科学家、正在寻求转型的专业人员以及团队司理交流的进程中,这个问题以各种形式屡次呈现。

交给专业数据科学项目触及许多方面,实践上它在厨房煮饭很类似:有质料(数据)、食谱(规划)、烹饪进程(独特的办法)、终究是实践的厨房(东西)。

本文遍历了小编的“厨房”,要点介绍了在规划、开发和布置全栈机器学习运用程序中最有用的东西——这些处理计划或与体系交融,或能够在出产环境中服务于用户。

势不可挡的可能性

这是最好的年代。假如在谷歌中查找“机器学习东西”或咨询参谋,可能会得到以下信息:

2020之最:最有用的机器学习东西有哪些?  机器学习 ML 应用程序 第2张

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

你能得到太多的东西,组合的可能性是无限的,这势不可挡,却也令人苍茫。你需求去缩小规模。但要留意的是,完美的装置仍旧不存在,而这取决于用户的需求和约束条件。简而言之,最适合的才是最好的。

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

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

留意:小编99%的时刻里都会运用Python 。因而,本文引荐的东西要么和Python完美适配,要么本地就有Python。小编没有运用其他编程言语(例如R或Java)对它们进行测验。

冰箱:数据库

PostgreSQL

这是一个免费的开源联系数据库办理体系(RDBMS),具有可扩展性和技术规范合规性。它旨在处理各种作业负载,包含单台机器、数据仓库或具有多个并发用户的Web服务。

2020之最:最有用的机器学习东西有哪些?  机器学习 ML 应用程序 第3张

图源: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之最:最有用的机器学习东西有哪些?  机器学习 ML 应用程序 第4张

小编的著作:12-小时机器学习应战

Pytest

架构使编写小型测验变得简单,但需扩展之后,才支撑针对运用程序和库的杂乱功用测验。它节省了手动测验的很多时刻,假如每次更改代码都需求测验某些东西,Pytest的主动化将会协助到你。

备选计划: Unittest

Github

它供给了Git的分布式版别操控和源代码办理(SCM)功用,当然还包含自带的功用。它为每个项目供给拜访操控和多种协作功用,例如功用恳求、过错盯梢、使命办理和wikis。

备选计划: BitBucket, GitLab,DVC

PyCharm 社区版

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

备选计划: Atom, Sublime

Heroku (仅当用户需求网络保管时)

2020之最:最有用的机器学习东西有哪些?  机器学习 ML 应用程序 第5张

图源: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之最:最有用的机器学习东西有哪些?  机器学习 ML 应用程序 第6张

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

备选计划: Jupyter Notebook、Anaconda、Spyder from、Microsoft Excel (仔细脸!)

刀子:机器学习架构

你应该依据食物和切开办法挑选适宜的刀具,比方通用刀和专用刀。

留神!虽然寿司专用刀愈加亮丽,但运用专用刀将寿司切成块状将花费很长时刻。要挑选正确的东西来完结作业。

Sklearn (常见的机器学习运用事例)

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

2020之最:最有用的机器学习东西有哪些?  机器学习 ML 应用程序 第7张

图源: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之最:最有用的机器学习东西有哪些?  机器学习 ML 应用程序 第8张

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

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

备选计划: ML Flow、Weights & Biases、Data Robot、SageMaker、Comet、Domino

另一种观念

没有完美的装置,一切都取决于你的需求和约束条件。下图展现了另一种主意,也是关于何种东西可用以及它们怎么一同作业。

2020之最:最有用的机器学习东西有哪些?  机器学习 ML 应用程序 第9张

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

迷你应战

想要了解这些东西,最好的办法是找一个项目开端操作。你能够将这些东西合并到当时项目中,也能够进行一个12小时机器学习应战。

我看好你哟~

转载请说明出处
知优网 » 2020之最:最有用的机器学习东西有哪些?

发表评论

您需要后才能发表评论