当前位置: 首页 > 科技观察

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

时间:2023-03-13 12:23:16 科技观察

就像制作米其林菜肴一样,拥有一个井井有条的厨房很重要,但有太多可供选择的选项可能会令人沮丧,构建良好的机器学习(ML)应用程序也是如此。因此,我将重点介绍一些可用于交付专业项目、分享想法和备选方案并进行快速调查的工具。任何工具讨论给出的选项都不会穷尽,但以下将是最有用和最简单的。当然,如果你有其他更好的选择,欢迎在评论区告诉小新。(免责声明:这篇文章没有署名和赞助。我交替使用数据科学和机器学习这两个术语。)常见问题解答“如何构建出色的机器学习应用程序?”在与专业人士和车队经理沟通的过程中,这个问题以各种形式多次出现。交付一个专业的数据科学项目涉及很多方面,实际上它类似于在厨房做饭:有配料(数据)、食谱(设计)、烹饪过程(巧妙的方法),最后是实际的厨房(工具)).本文介绍了我的厨房,重点介绍了在设计、开发和部署全栈机器学习应用程序时最有用的工具——与系统集成或在生产中为用户提供服务的解决方案。压倒性的可能性现在是最好的时代。如果你在谷歌搜索“机器学习工具”或顾问,你可能会得到以下信息:2019数据&人工智能全景|来源:GIPHY你可以获得的工具太多了,组合的可能性是无限的,让人应接不暇,但也让人眼花缭乱。你需要缩小范围。但是要注意,仍然没有完美的安装,这取决于用户的需求和限制。简而言之,最合适的就是最好的。小编的优先级列表如下(排名不分先后):免费工程大于研究易于学习和安装只要能完成工作Proven(applicationlevel&toolmaturity)在初创公司或大型企业中使用forlarge或小型项目注意:我99%的时间都使用Python。因此,本文推荐的工具要么完美兼容Python,要么本地有Python。我没有用其他编程语言(例如R或Java)测试过它们。冰箱:数据库PostgreSQL这是一个免费的开源关系数据库管理系统(RDBMS),具有可扩展性和技术标准合规性。它旨在处理各种工作负载,包括单台机器、数据仓库或具有许多并发用户的Web服务。来源:medium.com备选方案:MySQL、SAS、IBM、DB2、Oracle、MongoDB、Cloudera、GCP、AWS、Azure厨房计数器:部署流水线工具流水线工具对开发的速度和质量至关重要。该工具的目标是以最少的人为干预进行快速迭代。编辑器有一个运行良好的安装教程。如果你想了解更多细节,请参考我的文章——12小时机器学习挑战。想“偷懒”的你,一定要赶快尝试哦~(https://towardsdatascience.com/build-full-stack-ml-12-hours-50c310fedd51)小编的作品:12小时机器学习挑战Pytest架构使得编写小型测试变得容易,但需要扩展以支持应用程序和库的复杂功能测试。它在手动测试上节省了大量时间,如果您需要在每次更改代码时测试某些内容,Pytest的自动化将帮助您。备选方案:UnittestGithub它提供了Git的分布式版本控制和源代码管理(SCM)功能,当然也包括内置功能。它为每个项目提供访问控制和各种协作功能,例如功能请求、错误跟踪、任务管理和wiki。Alternatives:BitBucket,GitLab,DVCPyCharmCommunityEdition这是一个用于计算机编程的集成开发环境(IDE),专门针对Python语言。它由捷克公司JetBrains开发,提供代码分析、图形调试器、集成单元测试器和版本控制系统(VCS)集成,支持使用Django进行Web开发和使用Anaconda进行数据科学研究和开发。备选方案:Atom、SublimeHeroku(仅当用户需要虚拟主机时)图片来源:heroku.com平台即服务(PaaS),它使开发人员能够完全云构建、云运行和云操作应用程序。与CircleCI和Github集成也可以实现自动部署。备选方案:GoogleAppEngine、AWSElasticComputeCloud、其他Streamlit(仅当用户需要交互式UI时)Streamlit是一个面向机器学习和数据科学团队的开源应用程序框架。这是我近年来最喜欢的工具之一。在我的12小时机器挑战中,您可以了解如何使用它和本节中的其他工具来创建电影和模拟应用程序。Alternatives:Flask,Django,TableauCircleCiCircleCI是一个持续集成和部署工具。当您将项目提交到Github时,此工具使用远程docker创建自动化测试工作流。任何提交的项目如果未能通过PyTest设置测试用例,将被CircleCI拒绝。这确保了代码质量,这在与大型团队合作时尤为重要。Alternatives:TravisCI,Jenkins,GithubActiontheiPad:ExplorationToolStreamlit(又见面啦~)不要再错过JupyterNotebook了!Jupyter曾经是编辑的首选工具,它可以用于数据探索、分析,以及使用不同的数据实验和建模程序。但我已经数不清有多少次陷入这种沮丧的境地:我绞尽脑汁去调试,却发现我忘了从头开始运行代码;Streamlit可以解决这个问题。在重新运行数据管道之前总是需要等待一段时间;Steamlit缓存解决了这个问题。必须将代码从Jupyter重写或转换为可执行文件,并花时间重新测试;Streamlit提供了一条解决问题的捷径。因此,小编顺理成章地转而使用Streamlit进行前期探索,服务于最终的前端。以下是我最喜欢的屏幕设置。左边是PyCharmIDE,右边是结果可视化。IDE+Streamlit实时更新|来源:towardsdatascience备选方案:JupyterNotebook、Anaconda、Spyderfrom、MicrosoftExcel(严肃脸!)刀:机器学习架构应根据食物和切割方式选择合适的刀,如通用刀和专用刀。谨防!用特制的寿司刀把寿司切成大块需要很长时间,虽然特制的寿司刀比较华而不实。这是关于为工作选择合适的工具。Sklearn(常见的机器学习用例)这是Python中通用机器学习的首选框架,它应该足够了。来源:scikit-learn.org备选方案:无,period.OpenAIGym(ReinforcementLearningUseCases)这是一个用于开发和比较强化学习算法的工具包,它提供了一个API和一个可视化环境。许多社区都在竞相为这个领域构建工具,但可用的完整包并不多。备选方案:许多小项目,但大多比Gym维护更少。PyTorch(DeepLearningUseCases)这是一个基于Torch库的开源机器学习库。深度学习是这个库的重点,主要用于计算机视觉和自然语言处理等应用。Torch主要由Facebook的人工智能研究实验室(FAIR)开发。最近,许多著名的人工智能研究机构,如OpenAI,都使用PyTorch作为他们的标准工具。备选方案:Tensorflow、Keras、Fast.aiFurnace:ExperimentManagementAtlas这是一个免费工具,允许数据科学家使用一些摘要来运行实验,并在基于Web的仪表板上显示结果。图集程序|来源:atlas.dessa.com(免责声明:我在创建Altas的公司Dessa工作。)替代方案:MLFlow、Weights&Biases、DataRobot、SageMaker、Comet、DominoAnother视图没有完美的安装,一切都取决于您的需求和限制。下图显示了另一种想法,也说明了哪些工具可用以及它们如何协同工作。了解这些工具的最佳方式是找到一个项目并开始使用它们。您可以将这些工具整合到您当前的项目中,或者接受12小时的机器学习挑战。我喜欢你~