我正在跟随斯坦福大学的Andrew Ng教授的机器学习课程,我想开始用Ruby实现其中的例子。
有没有关于Ruby中机器学习的框架/宝石/库/现有代码?我找到了一些相关的问题和项目,但似乎都比较旧了。
回答:
请务必查看这个gist,它包含了大量信息:
此外,以下是一些值得注意的算法库(这些库可能已经在上面的gist中列出,也可能没有):
-
AI4R
http://www.ai4r.org/ – https://github.com/SergioFierens/ai4r
AI4R是一组Ruby算法实现,涵盖了多个人工智能领域,并提供了使用它们的简单实用示例。它是AI研究者的Ruby游乐场。它实现了:
-
遗传算法
-
自组织映射(SOM)
-
神经网络:多层感知器与反向传播学习,霍普菲尔德网络。
-
自动分类器(机器学习):ID3(决策树),PRISM(J. Cendrowska,1987),多层感知器,OneR(又名单属性规则,1R),ZeroR,超管道,朴素贝叶斯,IB1(D. Aha,D. Kibler – 1991)。
-
数据聚类:K-means,二分K-means,单链接,完全链接,平均链接,加权平均链接,质心链接,中位数链接,Ward方法链接,Diana(分裂分析)
-
-
kmeans-clusterer – Ruby中的k-means聚类:
-
kmeans-clustering – 一个用于并行化k-means聚类的简单Ruby宝石:
-
tlearn-rb – Ruby的循环神经网络库:
-
TensorFlow Ruby包装器 – 截至目前,似乎即将开始构建TensorFlow的Ruby API:
https://github.com/tensorflow/tensorflow/issues/50#issuecomment-216200945
如果JRuby对你来说是Ruby的一个可行替代方案:
-
weka-jruby – 基于Weka Java库的JRuby机器学习和数据挖掘:
-
jruby_mahout – JRuby Mahout是一个宝石,它在JRuby的世界中释放了Apache Mahout的力量:
更新: 上述的Ruby中机器学习的资源 gist现在开始作为一个仓库进行维护:https://github.com/arbox/machine-learning-with-ruby