Pranav Dar作者吴振东、洪舒越校对王菁编辑张达敏翻译

5个机器学习开源项目来挑战你的数据科学技能!(附链接)

5个富有挑战性的机器学习开源项目帮你找到2020的正确打开方式,以下机器学习项目涉及多个领域,包括Python编程及自然语言处理。

简介

越来越多的人开始踏入数据科学领域。不管你是应届毕业生、初入职场者,还是有一定相关经验的专业人士,亦或是机器学习的爱好者 – 任何人都想搭上数据科学的快车。

机器学习

https://courses.analyticsvidhya.com/courses/applied-machine-learning-beginner-to-professional?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

如果你来自印度,相信你一定读过有关政府在数据领域投资的消息(2020年联邦预算)。当下是个投资自己的绝佳时机。

在许多开启自己数据科学生涯的绝佳方式中,投资自己是其中之一。以下是一个简化的流程:

  • 找到你所感兴趣的机器学习开源项目。
  • 对于该项目,了解当前领先的解决方案。
  • 如果有相关的解决方案,从中汲取知识。但如果这种方案并不存在,就利用你所掌握的机器学习知识来创造一个。

我挑选出了5个机器学习开源项目(创建于2020年1月)来帮助你了解行业领先的框架和库。同往常一样,我尽可能保证这些项目的多样性。你会注意到其中包括一些取自自然语言处理和Python编程的想法。

如果你对以往月刊系列展示的项目感兴趣,下方已放置链接。这个系列已经创办三年了 – 要对我们社区铺天盖地的响应表示感谢!

https://www.analyticsvidhya.com/blog/category/github/?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

目录

1. Reformer – PyTorch里的高效Transformer

2. PandaPy – 你最爱的Python库

3. 谷歌地球引擎 – 用300多个Jupyter笔记本来分析地理空间数据

4. AVA – 自动化视图分析

5. Fast Neptune – 你的机器学习项目加速器

谷歌地球引擎 – 用300多个Jupyter笔记本来分析地理空间数据

https://github.com/giswqs/earthengine-py-notebooks

Fast Neptune – 你的机器学习项目加速器

https://danywind.github.io/2020/01/28/fast-neptune.html

回归正题,以下是5个机器学习开源项目。

Reformer – PyTorch里的高效Transformer

https://github.com/lucidrains/reformer-pytorch

Transformer架构的出现改变了自然语言处理。越来越多的自然语言处理框架开始进入大众视野,例如BERT, XLNet, GPT-2.

自然语言处理

https://courses.analyticsvidhya.com/courses/natural-language-processing-nlp?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

自然语言处理框架

https://www.analyticsvidhya.com/blog/2019/08/complete-list-important-frameworks-nlp/?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

BERT

https://www.analyticsvidhya.com/blog/2019/09/demystifying-bert-groundbreaking-nlp-framework/?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

GPT-2

https://www.analyticsvidhya.com/blog/2019/07/openai-gpt2-text-generator-python/?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

但也存在一个问题 – 这些基于Transformer的模型实在是太大了。它们的确实现了行业领先的结果,但成本高的同时,对于大部分仅仅想学习并使用它们的人来说,这些框架超出了他们的能力范围。

“Reformer模型,它和Transformer模型一样优秀,而且它占用的资源和成本更少”

上面的Github链接包含了利用PyTorch搭建Reformer的方法。除了完整的代码,该项目的作者还提供了一个简单且高效的例子来帮助你建模。

我强烈建议你先读一篇关于Reformer的内部原理的官方研究。

https://openreview.net/pdf?id=rkgNKkHtvB

你可以通过这个指令在你的机器上安装Reformer。

pip install reformer_pytorch

如果你还不了解Transformer架构和PyTorch框架,建议先阅读一下文章。

  • How do Transformers Work in NLP? A Guide to the Latest State-of-the-Art Models

https://www.analyticsvidhya.com/blog/2019/06/understanding-transformers-nlp-state-of-the-art-models/?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

  • A Beginner-Friendly Guide to PyTorch and How it Works from Scratch

https://www.analyticsvidhya.com/blog/2019/09/introduction-to-pytorch-from-scratch/?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

PandaPy – 你最爱的Python库

https://github.com/firmai/pandapy

上周我刚刚熟悉了一下PandaPy并在我当前项目里加以运用。它是个很神奇的Python库,将来很有可能成为主流。

如果你的机器学习项目涵盖了很多混合数据类型(int,float,datetime,str等等),你真的应该尝试一下PandaPy而不是Pandas。相比于Pandas,用PandaPy处理混合数据类型能为你节省三分之一的内存。

“如果你在生产环境里使用较小的Pandas数据帧(5万以内),那你应该尝试替换成PandaPy。

以下三点你会觉得很有趣(这些都是PandaPy的Github上的原话):

  • 在小数据集上进行简单计算时(例如加法、乘法、取对数),PandaPy比Pandas快25至80倍。
  • 在小数据集上进行表操作时(例如聚合、透视、删除、合并、填充缺失数据),PandaPy比Pandas快5-100倍。
  • 在大多数小数据使用情况下,PandaPy比Dask,Modin Ray和Pandas都要快。

通过pip安装PandaPy:

!pip3 install pandapy

如果你对Pandas依旧念念不忘,在这里你能找到最新正式版本(v1.0.0)。

https://www.analyticsvidhya.com/blog/2020/01/pandas-version-1-top-4-features/?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

谷歌地球引擎 – 用300多个Jupyter Notebook来分析地理空间数据

https://github.com/giswqs/earthengine-py-notebooks

这个Github库极其优秀!有很多有抱负的数据科学家在领英上向我询问如何着手进行地理空间分析。这是一个拥有千兆数据的有趣领域。我们仅仅需要一个结构化的方法来清理分析这些数据。

“这个库囊括超过300个Jupyter Notebook,其中包含了如何使用谷歌地球引擎数据的例子”

谷歌地球引擎

https://earthengine.google.com/

这是一个炫酷的GIF图片,它展示了一个通过这些Notebook能得到的可视化视图:

这些Notebook主要基于三个Python库来运行代码:

  • Earth Engine Python API
  • Folium
  • Geehydro

这个Github库有大量的Python例子能够帮你上手。好好研究一下,玩得开心!

这还有一篇很优秀的文章能帮你上手地理空间数据:

Geospatial Data and its Role in Data Science

https://medium.com/analytics-vidhya/geospatial-data-and-its-role-in-data-science-c60b2e0d3f7f

AVA – 自动化视图分析

https://github.com/antvis/AVA

还有一个很优秀的数据可视化概念。数据发掘自动化的想法已经流传一段时间了,但一直没有实质性的框架出现。直到现在:

“AVA,自动化视图分析的简写,是阿里巴巴为了让视图分析更智能化和自动化所创造的框架。”

下面这个GIF图片是AVA的演示:

我强烈推荐你了解下面的资源,它们能帮你创建和加强数据可视化简介:

  • Mastering Tableau from Scratch: Become a Data Visualization Rockstar

https://courses.analyticsvidhya.com/courses/tableau-2-0?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

  • Collection of Data Visualization Articles and Tutorials

https://www.analyticsvidhya.com/blog/tag/data-visualization/?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

Fast Neptune – 你机器学习项目的加速器

https://danywind.github.io/2020/01/28/fast-neptune.html

现如今,不论是学术界还是工业界,生产力是任何一个机器学习项目的重要指标。我们需要追踪每一个测试、每一次迭代,以及每对参数和结果。

“Fast Neptune库能够快速记录开展机器学习测试所需的所有信息。也就是说,Fast Neptune是上文所提及的生产力问题的答案。

Fast Neptune有几个特性能够帮我们进行快速测试(从上文链接里引用):

  • 有关运行代码的机器的元数据,包括系统及系统版本。
  • 对测试所在的Notebook的相关要求。
  • 在测试过程中用到的参数,也就是你想追踪的变量的值的命名。
  • 测试过程中你想记录使用的代码。

是不是很直观?你只用一行代码就可以安装Fast Neptune:

pip install fast-neptune

几个值得关注的框架:

我还想介绍其他几个2020年1月发行的框架,你应该关注一下:

1. Thinc:这是一个spaCy作者制作的轻量化深度学习库。Thinc“为composing model提供一个优雅、能够类型检查、功能化编程的接口,同时为其他框架定义的层提供支持,例如PyTorch,TensorFlow或者MXNet

Thinc

https://thinc.ai/

spaCy

https://www.analyticsvidhya.com/blog/2019/09/introduction-information-extraction-python-spacy/?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

PyTorch

https://www.analyticsvidhya.com/blog/2019/09/introduction-to-pytorch-from-scratch/?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

TensorFlow

https://www.analyticsvidhya.com/blog/2016/10/an-introduction-to-implementing-neural-networks-using-tensorflow/?utm_source=blog&utm_medium=5-open-source-machine-learning-projects-data-scientist

2. 谷歌仿人类生成聊天机器人:谷歌创造的Meena是一个拥有26亿参数点对点训练的神经交谈式模型。相比于行业领先的聊天机器人,Meena能够引导更合理更具体的对话。谷歌会开源Meena的代码吗?我们还不得而知,但这是个值得关注的事。

谷歌仿人类生成聊天机器人

https://ai.googleblog.com/2020/01/towards-conversational-agent-that-can.html

结束语

2020是机器学习快速发展的一年。先进技术会继续快速进化,以至于让新手难以快速上手。

这也是我发表这些月刊的初衷,把最有相关性和实用性的开源机器学习项目带给我们的社区。

你有没有其他想了解的机器学习项目或框架?我非常想在下面的评论区听听你的想法和主意。让我们一起头脑风暴。

你也可以通过Analytics Vidhya的安卓软件阅读这篇文章。

原文标题:

5 Open Source Machine Learning Projects to Challenge your Inner Data Scientist

原文链接:

https://www.analyticsvidhya.com/blog/2020/02/5-open-source-machine-learning-projects-data-scientist/

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

工程数据科学机器学习
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

聊天机器人技术

聊天机器人是经由对话或文字进行交谈的计算机程序。能够模拟人类对话,通过图灵测试。 聊天机器人可用于实用的目的,如客户服务或资讯获取。有些聊天机器人会搭载自然语言处理系统,但大多简单的系统只会撷取输入的关键字,再从数据库中找寻最合适的应答句。

MXNet技术

MXNet是开源的,用来训练部署深层神经网络的深度学习框架。它是可扩展的,允许快速模型训练,并灵活支持多种语言(C ++,Python,Julia,Matlab,JavaScript, Go,R,Scala,Perl,Wolfram语言)

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

阿里巴巴机构

阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的18人于1999年在浙江杭州创立的公司。 阿里巴巴集团经营多项业务,另外也从关联公司的业务和服务中取得经营商业生态系统上的支援。业务和关联公司的业务包括:淘宝网、天猫、聚划算、全球速卖通、阿里巴巴国际交易市场、1688、阿里妈妈、阿里云、蚂蚁金服、菜鸟网络等。 2014年9月19日,阿里巴巴集团在纽约证券交易所正式挂牌上市,股票代码“BABA”,创始人和董事局主席为马云。 2018年7月19日,全球同步《财富》世界500强排行榜发布,阿里巴巴集团排名300位。2018年12月,阿里巴巴入围2018世界品牌500强。

https://www.alibabagroup.com/
相关技术
数据可视化技术

数据可视化被许多学科视为现代视觉传达的等价物。为了清晰有效地传递信息,数据可视化使用统计图形、图表、信息图和其他工具。数字数据可以使用点、线或条编码,以视觉传达定量消息。有效的可视化帮助用户对数据进行分析和推理。它使复杂的数据更容易理解和使用。用户可以根据特定的分析任务进行数据可视化,例如进行比较或理解因果关系,并且图形的设计原则(即,显示比较或显示因果关系)来进行可视化。表通常用于用户查找特定测量的地方,而各种类型的图表用于显示一个或多个变量的数据中的模式或关系。

GPT-2技术

GPT-2是OpenAI于2019年2月发布的基于 transformer 的大型语言模型,包含 15 亿参数、在一个 800 万网页数据集上训练而成。据介绍,该模型是对 GPT 模型的直接扩展,在超出 10 倍的数据量上进行训练,参数量也多出了 10 倍。在性能方面,该模型能够生产连贯的文本段落,在许多语言建模基准上取得了 SOTA 表现。而且该模型在没有任务特定训练的情况下,能够做到初步的阅读理解、机器翻译、问答和自动摘要。

推荐文章
暂无评论
暂无评论~