[英]Machine learning algorithms in ruby
我正在跟隨斯坦福機器學習課程 。 Andrew Ng和我想開始在ruby中實現這些例子。
是否有任何框架/ gems / libs /現有代碼在ruby中接近機器學習? 我發現了一些與此相關的問題和一些項目,但似乎已經很老了。
算法本身不是特定於語言的。 您可以使用您想要的任何語言實現它們。 為了獲得最高效率,您需要使用基於矩陣/矢量的計算。
Ruby有一個內置的Matrix類 ,您可以使用它來實現這些算法。 實現將與使用Octave的實現非常相似。 您自己實現算法所需的一切都包含在1.9+的基本標准庫中。
使用Octave是因為它提供了一個徹底且簡單的Matrix庫。
一定要檢查這個要點,它有很多信息:
此外,以下是一些值得注意的算法庫(可能已經或可能沒有在上面的要點中列出):
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強大功能的寶石:
更新:上面Ruby gist中的機器學習資源現在開始被作為存儲庫保存: https : //github.com/arbox/machine-learning-with-ruby
嘗試Rumale和Numo :: NArray https://github.com/yoshoku/rumale
Rumale(Ruby機器學習)是Ruby中的機器學習庫。 Rumale提供的機器學習算法的界面類似於Python中的Scikit-Learn。 Rumale支持線性/內核支持向量機,Logistic回歸,線性回歸,嶺,套索,分解機,朴素貝葉斯,決策樹,AdaBoost,梯度樹增強,隨機森林,額外樹,K-最近鄰分類器,K-Means ,K-Medoids,高斯混合模型,DBSCAN,功率迭代聚類,多維尺度,t-SNE,主成分分析和非負矩陣分解。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.