开源数据科学项目做出贡献

数据挖掘 初学者 开源的
2021-09-30 00:24:36

对开源项目的贡献通常是让新手获得一些实践的好方法,并为经验丰富的数据科学家和分析师尝试新领域。

你贡献了哪些项目?请在 Github 上提供一些介绍 + 链接。

4个回答

Julia 项目是我积极参与的项目,包括高级计算和 XGBoost 库所以,我绝对可以保证它的维护和社区的质量。

一些非常好的开源数据科学项目,即使是初学者也可以做出贡献:

  • Sklearn : sklearn 社区始终在快速发展,始终对新的开发人员和贡献者开放。
  • H2O:H2O 是另一个快速发展的数据科学项目,致力于可扩展的机器学习和深度学习解决方案。
  • Go:开源数据科学路线图和资源。不是真正的技术项目,但对绝对初学者和有抱负的分析师非常有帮助。
  • Pylearn2:另一个快速发展的机器学习和深度学习项目。
  • Vowpal Wabbit:Vowpal Wabbit (VW) 项目是一个快速的核外学习系统,由 Microsoft Research 和(以前的)Yahoo! 赞助。研究。

这是有关此类项目的Quora 讨论以及此答案中未提及的更多内容。

这是关于 Python 中的开源数据科学和机器学习项目的另一个很好的讨论。

有很多可用的。我不知道我是否被允许这样做(如果错了请告诉我),但我开发了一个,它已经在 git hub 上运行了 2 年多(它实际上比 github 早一年开始)。该项目名为 rapaio,位于 git hub 上最近我开始为它编写手册(我的一些朋友问我这个问题)。该手册可以在这里找到。

如果您愿意使用 Java 8 进行开发,如果您喜欢自己动手做任何工具,并且如果您喜欢试验,那么它符合您的需求。我只执行两个原则。第一个是只在需要时才写东西那是因为我坚信,只有当你需要一个工具时,你才会知道你在输出、性能、信息方面真正想要什么。第二个原则是你只依赖jdk,如果你需要一些东西你会写它我同意我是过时的,但您可以通过这种方式为您的目的定制任何功能。

如果我不允许作为回答者这样做,请再次告诉我。虽然,因为它是一个开源计划,所以回馈一些没有利润的项目类型的人,我看不出我不能这样做的原因。

ELKI(也在GitHub 上)是数据挖掘和数据科学开源项目。它的独特之处在于其模块化架构:您可以将算法、距离函数和索引组合起来,几乎没有限制(当然,不使用距离的算法不能与距离组合)。由于效率,它不是最简单的代码。对于数据挖掘,您需要注意内存 -ArrayList<Integer>如果您想要可扩展性,则使用是不可行的。

由于模块化架构,很容易只贡献小模块,例如单个距离函数或算法。

我们保留了一份数据挖掘项目想法列表,大致按难度分组。大多数项目都是算法的一些变体的实现。ELKI 旨在允许对算法进行比较研究,因此我们尝试允许任何组合,并且还涵盖算法的变体。例如,对于 k-means,我们不仅有 Lloyds 算法,还有一般 k-means 主题的 10 个变体。超过 220 篇文章已(至少部分)在 ELKI 中重新实现。

通过在同一个工具中实现所有内容,我们得到了更具可比性的结果。如果您使用 R 进行基准测试,您通常是在比较苹果和橙子。R 中的 k-means 实际上是一个旧的 Fortran 程序,而且速度非常快。R 中的 k-means 但在“flexclust”包中的速度要慢 100 倍,因为它是用真正的 R 代码编写的。所以不要相信 R 中的基准测试......而且,R 模块往往是不兼容的,所以你通常不能使用模块 A 的距离 A 和模块 B 的算法 B。在 ELKI 中,我们尝试共享尽可能多的代码可以跨实现来减少此类工件(当然,永远不可能有一个 100% 公平的基准 - 总是有优化的空间),而且还允许轻松组合模块。

您可以从 Hartigan&Wong k-means 变体等小东西开始,然后继续使用球形 k-means(适用于稀疏数据,可能需要不同的性能优化)并继续为分类数据添加更好的支持;或添加索引功能。

我也希望看到更好的 ELKI 用户界面,但这是一项重大的努力。

如果喜欢跨平台的可视化编程工具,Orange是一个选择。最近迁移到 Python 3,他们还没有移植所有的小部件。它将 PyData 堆栈(NumPy、SciPy、SciKit Learn...)引入 Python 3、PyQt、PyQtGraph,并且在 GitHub 上采用GPL 协议。

橙色屏幕显示