我跟教授跟随Stanford Machine Learning class。 Andrew Ng和我想开始在ruby中实现这些例子。
是否有任何框架/ gems / libs /现有代码可以在ruby中进行机器学习?我发现了一些与此有关的问题和一些项目,但似乎已经很老了。
答案 0 :(得分:9)
算法本身不是特定于语言的。您可以使用您想要的任何语言实现它们。为了获得最高效率,您需要使用基于矩阵/矢量的计算。
Ruby有一个内置的Matrix class,您可以使用它来实现这些算法。实现将与使用Octave的实现非常相似。您自己实现算法所需的一切都包含在1.9 +的基本标准库中。
使用Octave是因为它提供了一个彻底且简单的Matrix库。
答案 1 :(得分:5)
请务必查看这个要点,它有很多信息:
此外,以下是一些值得注意的算法库(可能已经或可能没有在上面的要点中列出):
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聚类:
kmeans-clustering - 用于并行化k-means聚类的简单Ruby gem:
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强大功能的宝石:
更新 上的机器学习资源上面的内容现在开始被作为存储库保存:https://github.com/arbox/machine-learning-with-ruby
答案 2 :(得分:0)
Rumale https://github.com/yoshoku/rumale
Rumale是一个用Ruby编写的机器学习库,并支持以下算法。
Rumale支持线性/内核支持向量机,逻辑回归,线性回归,岭,套索,分解机,朴素贝叶斯,决策树,AdaBoost,随机森林,K近邻分类器,K均值,DBSCAN,主要成分分析和非负矩阵分解。