我正在跟随斯坦福机器学习课程.Andrew Ng和我想开始在ruby中实现这些例子.
是否有任何框架/ gems/libs /现有代码在ruby中接近机器学习?我发现了一些与此相关的问题和一些项目,但似乎已经很老了.
算法本身不是特定于语言的.您可以使用您想要的任何语言实现它们.为了获得最高效率,您需要使用基于矩阵/矢量的计算.
Ruby有一个内置的Matrix类,您可以使用它来实现这些算法.实现将与使用Octave的实现非常相似.您自己实现算法所需的一切都包含在1.9+的基本标准库中.
使用Octave是因为它提供了一个彻底且简单的Matrix库.
一定要检查这个要点,它有很多信息:
Ruby中的机器学习资源
此外,以下是一些值得注意的算法库(可能已经或可能没有在上面的要点中列出):
AI4R
http://www.ai4r.org/ - https://github.com/SergioFierens/ai4r
AI4R是一个ruby算法实现的集合,涵盖了几个人工智能领域,以及使用它们的简单实际例子.AI研究人员的Ruby操场.它实现:
遗传算法
自组织地图(SOM)
神经网络:具有反向传播学习的多层感知器,Hopfield网络.
自动分类器(机器学习):ID3(决策树),PRISM(J. Cendrowska,1987),多层感知器,OneR(AKA一个属性规则,1R),ZeroR,超管,朴素贝叶斯,IB1(D.Aha,D. Kibler - 1991).
数据聚类:K-means,Bisecting k-means,Single linkage,Complete linkage,Average linkage,Weighted Average linkage,Centroid linkage,Median linkage,Ward's method linkage,Diana(Divisive Analysis)
kmeans-clusterer - Ruby中的k-means聚类:
https://github.com/gbuesing/kmeans-clusterer
kmeans-clustering - 用于并行化k-means聚类的简单Ruby gem:
https://github.com/vaneyckt/kmeans-clustering
tlearn-rb - Ruby的循环神经网络库:
https://github.com/josephwilk/tlearn-rb
TensorFlow Ruby包装器 - 在撰写本文时,似乎工作即将开始构建TensorFlow Ruby API:
https://github.com/tensorflow/tensorflow/issues/50#issuecomment-216200945
如果JRuby是Ruby的可行替代方案:
weka-jruby - 基于Weka Java库的JRuby进行机器学习和数据挖掘:
https://github.com/paulgoetze/weka-jruby
jruby_mahout - JRuby Mahout是一个在JRuby世界中释放Apache Mahout强大功能的宝石:
https://github.com/vasinov/jruby_mahout
更新:在Ruby中对机器学习资源要点上面现在开始进行编程和维持一个资料库:https://github.com/arbox/machine-learning-with-ruby