2011-11-03 31 views
9

Tôi đang theo dõi Stanford Machine Learning class với prof. Andrew Ng và tôi muốn bắt đầu thực hiện các ví dụ trong ruby.Thuật toán học máy trong ruby ​​

Có bất kỳ khung công tác/đá quý/libs/mã hiện có nào có cách tiếp cận máy học trong ruby ​​không? Tôi đã tìm thấy một số câu hỏi liên quan đến điều này và một số dự án nhưng dường như khá cũ.

+1

cần trợ giúp với trí tuệ nhân tạo? http://area51.stackexchange.com/proposals/93481/artificial-intelligence – 6119

Trả lời

4

tôi thấy ý chính đẹp này:

Sau đây là một số thuật toán thư viện đáng chú ý mà có thể (hoặc có thể không) được đã được liệt kê trong ý chính rằng:

  • AI4R

    http://www.ai4r.org/ - https://github.com/SergioFierens/ai4r

    AI4R là tập hợp các thuật toán ruby, bao gồm một số trường thông minh nhân tạo và các ví dụ thực tế đơn giản khi sử dụng chúng. Sân chơi Ruby dành cho các nhà nghiên cứu AI. Nó thực hiện:

    • thuật toán di truyền

    • bản đồ tự tổ chức (SOM)

    • Neural Networks: Multilayer perceptron với lan truyền ngược học tập, Hopfield ròng.

    • Máy phân loại tự động (Máy học): ID3 (Cây quyết định), PRISM (J. Cendrowska, 1987), Perceptron đa lớp, OneR (Quy tắc thuộc tính AKA, 1R), ZeroR, Hyperpipes, Naive Bayes, IB1 (D Aha, D. Kibler - 1991).

    • phân nhóm dữ liệu: K-means, cắt đôi k-means, Độc thân liên kết, Hoàn liên kết, liên kết trung bình, trọng liên kết trung bình, liên kết centroid, liên kết trung bình, phương pháp liên kết của Ward, Diana (Phân tích chia rẽ)

  • kmeans-clusterer - kmeans phân nhóm trong Ruby:

    https://github.com/gbuesing/kmeans-clusterer

  • kmeans-clustering Một gói Ruby đơn giản cho kmeans song song phân nhóm:

    https://github.com/vaneyckt/kmeans-clustering

  • tlearn-rb - thư viện tái phát Neural Network cho Ruby:

    https://github.com/josephwilk/tlearn-rb


Nếu JRuby là một lựa chọn khả thi để Ruby cho bạn:


Cũng liên quan: có vẻ như công việc mà sắp bắt đầu trong việc xây dựng một API TensorFlow Ruby:

https://github.com/tensorflow/tensorflow/issues/50#issuecomment-216200945


UPDATE:Tài nguyên cho Học máy trong Ruby Gist ở trên hiện đang bắt đầu được lưu trữ như một kho lưu trữ: https://github.com/arbox/machine-learning-with-ruby

8

Các thuật toán không phải là ngôn ngữ cụ thể. Bạn có thể triển khai chúng bằng bất kỳ ngôn ngữ nào bạn muốn. Để đạt hiệu quả tối đa, bạn sẽ muốn sử dụng tính toán dựa trên ma trận/vector.

Ruby được tích hợp sẵn trong Matrix class mà bạn có thể sử dụng để triển khai các thuật toán này. Việc triển khai sẽ rất giống với việc sử dụng Octave. Tất cả mọi thứ bạn cần để thực hiện các thuật toán chính mình được bao gồm trong cơ sở tiêu chuẩn thư viện cho 1.9+.

Octave được sử dụng vì nó cung cấp thư viện ma trận toàn diện và dễ dàng.

+1

Cảm ơn bạn đã liên kết đến lớp ma trận, tôi nghĩ rằng tôi sẽ phải thực hiện các thuật toán bản thân mình: P – fuzzyalej

+1

Bạn đang xem xét một thuật toán cụ thể. Tôi có thể viết một số trong ruby. –

+0

@KassymDorsel Bạn có biết bất kỳ tài nguyên nào cho thuật toán Máy học/ma trận trong Ruby (kể từ khi bạn đề cập đến nó; chỉ là tò mò)? – rcd

Các vấn đề liên quan