2020年开源机器学习项目概览

随着数据科学的热潮持续升温,越来越多的人希望投身于这一领域。无论是刚毕业的大学生、行业新手、中级专业人士,还是对机器学习充满好奇的人士,大家都想在数据科学的领域中分得一杯羹。特别是对于印度的朋友来说,政府在2020年的联邦预算中对数据领域进行了投资,这无疑是一个投资自己职业生涯的好时机。

要开启数据科学生涯,最好的方式之一就是投资自己。以下是一些简单的步骤来帮助实现这一目标:找到一个感兴趣的开源机器学习项目;了解该项目的当前基准解决方案;如果存在,就学习它;如果不存在,就利用现有的机器学习技能集来创造一个解决方案。

挑选了5个2020年1月创建的开源机器学习项目,让了解最新的框架和库。尽量使列表多样化,将看到从自然语言处理(NLP)到Python编程的各种内容。如果对之前展示的项目感兴趣,可以点击这里查看。这是这个系列的第三年——感谢社区的热烈响应!

Reformer – PyTorch中的高效Transformer

Transformer架构改变了自然语言处理(NLP)的格局。它催生了许多NLP框架,如BERT、XLNet、GPT-2等。但相信中的大多数人都会遇到一个问题——这些基于Transformer的模型非常大。它们虽然达到了最先进的结果,但过于昂贵,超出了大多数想要学习和实施它们的人的承受范围。

这就是Reformer模型的用武之地。Reformer的性能与这些Transformer模型相当,但它使用的资源和资金要少得多。上面链接的GitHub仓库包含了Reformer的PyTorch实现。项目的提供了一个简单但有效的示例以及整个代码,帮助构建自己的模型。

鼓励阅读官方研究论文中关于Reformer内部工作原理的介绍。可以通过以下命令在机器上安装Reformer:

pip install reformer_pytorch

PandaPy – 新宠Python库

上周发现了PandaPy,并已经在当前项目中使用它。这是一个非常有潜力成为主流的Python库。如果正在处理包含混合数据类型(int、float、datetime、str等)的机器学习项目,应该尝试使用PandaPy而不是Pandas。它消耗的内存大约比Pandas少三分之一!

“如果在生产环境中有较小的Pandas数据框(<50K条记录),那么考虑使用PandaPy是值得的。”以下是会觉得有趣的三个关键领域(直接从PandaPy的GitHub仓库中摘录了这些要点):

  • 对于小数据集上的简单计算(即加、乘、对数),PandaPy比Pandas快25x-80x。
  • 对于小数据集上的表函数(即分组、透视、删除、连接、填充空值),PandaPy比Pandas快5x-100x。
  • 对于大多数小数据用例,PandaPy比Dask、Modin Ray和Pandas更快。

使用pip安装PandaPy:

!pip3 install pandapy

Google Earth Engine – 300+ Jupyter Notebooks分析地理空间数据

这是一个非常棒的GitHub仓库!有很多有抱负的数据科学家在LinkedIn上联系,询问如何开始地理空间分析。这是一个非常有趣的领域,有数以拍字节计的数据可用。只需要一个结构化的方法来清理和分析这些数据。

这个惊人的仓库是一个包含300多个Jupyter笔记本的集合,其中包含了使用Google Earth Engine数据的示例。这里有一个非常酷的GIF,展示了将使用这些笔记本生成的可视化之一:

这些笔记本依赖于三个Python库来执行代码:Earth Engine Python API、Folium、Geehydro。GitHub仓库包含了许多带有Python代码的示例,让开始使用。深入挖掘并享受乐趣!

这是另一个高质量的数据可视化想法。自动化数据探索步骤的想法已经流传了一段时间,但没有实质性的框架。直到现在,AVA,即自动化视觉分析,是阿里巴巴的一个框架,旨在使视觉分析由人工智能驱动和自动化。

这是一个演示,展示了AVA的强大力量:

强烈推荐查看以下资源,以增强和构建数据可视化档案:

  • 从零开始掌握Tableau:成为一名数据可视化摇滚明星
  • 数据可视化文章和教程的集合

可重复性是当今任何机器学习项目的一个关键方面,无论是在研究还是行业中。需要跟踪执行的每一次测试、每一次迭代以及机器学习模型的每一个参数,以及结果。

Fast Neptune库使能够快速记录需要启动机器学习实验的所有信息。换句话说,Fast Neptune是在阅读上述段落时可能提出的可重复性问题的答案。

以下是Fast Neptune用来帮助快速运行实验的功能(引用自上述链接):

  • 关于运行代码的机器的元数据,包括操作系统和操作系统版本
  • 运行实验的笔记本的要求
  • 在实验期间使用的参数,即想要跟踪的变量的名称和值
  • 想要记录的运行期间使用的代码
pip install fast-neptune
  • Thinc:这是由spaCy的制造商提供的轻量级深度学习库。Thinc“提供了一个优雅、类型检查、函数编程API,用于组合模型,并支持在其他框架中定义的层,如PyTorch、TensorFlow或MXNet”
  • 谷歌的惊人类人生成聊天机器人:谷歌创建了Meena,这是一个26亿参数的端到端训练的神经会话模型。Meena可以进行比现有最先进的聊天机器人更合理、更具体的对话。他们会开源代码吗?还有待观察,但这是一个值得关注的问题
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485