Thư viện máy học hoàn chỉnh cho Java / Scala [đã đóng]


8

Python có rất nhiều thư viện ML (như scikit-learn). Có điều gì tốt cho java / scala, chứa nhiều thuật toán (hồi quy, phân loại, phân cụm, xác thực chéo, xử lý tính năng), ổn định và duy trì và có thể xử lý dữ liệu lớn?

Tôi vừa tìm thấy Mahout, Breeze / Nak và Weka, nhưng chúng không đẹp như Python.

Ngoài ra, nếu không có tương đương, làm thế nào tôi có thể kết nối mã java với Python một cách hiệu quả?


Có lẽ xem xét thêm một chi tiết nhỏ về những gì làm cho scikit-learn trở nên tuyệt vời so với Mahout & c.
Scortchi - Phục hồi Monica

Rất nhiều thuật toán để phân loại, hồi quy, lựa chọn tính năng, giảm tính năng, v.v. Ngoài ra, nó có một cộng đồng lớn của những người đóng góp và hỗ trợ
boskaiolo

Bạn có thể nói rõ hơn một chút về những gì bạn đang cố gắng đạt được không? Một cách phổ biến để "kết nối" java và python là sử dụng jython , jython.org .
Sandris

Câu trả lời:


16

Bạn có thể thấy hữu ích danh sách các thư viện ML, khung và công cụ phần mềm được quản lý rộng rãi này . Cụ thể, nó chứa các tài nguyên mà bạn đang tìm kiếm - danh sách ML cho Java và cho Scala .


7
Tôi là chủ sở hữu của danh sách đó - tôi muốn thêm rằng nó được cập nhật thường xuyên - với các yêu cầu kéo đến mỗi tuần
Joseph Misiti 16/1/2015

@JosephMisiti: Cảm ơn bạn đã cập nhật. Thật tốt khi biết - hãy tiếp tục.
Alexanderr Blekh

5

Apache Spark và cụ thể là thành phần MLlib của nó trông giống hệt những gì bạn đang tìm kiếm. MLlib chứa các triển khai để phân loại, hồi quy, giảm kích thước, v.v. Bạn có thể lập trình bằng Scala, Java và Python.

Về cơ bản, nó là một khung tính toán phân tán rất nhanh có thể chạy trong cụm Hadoop. Đối với mục đích phát triển, bạn cũng có thể dễ dàng chạy nó ở chế độ độc lập (không có Hadoop) trên máy cục bộ của mình.

Kiểm tra hướng dẫn MLlib tại đây: https://spark.apache.org/docs/latest/mllib-guide.html


1

Hãy xem JavaML ( http://java-ml.sourceforge.net/ ) và Encog ( http://www.heatonresearch.com/encog ). Cái sau tập trung vào Mạng thần kinh hơn là nhiều thuật toán.

Ngoài ra, weka có thể không có API java rất thân thiện (vì trước hết, đó là ứng dụng GUI, không phải thư viện), nhưng khi bạn quen với nó, bạn bắt đầu đánh giá cao có bao nhiêu thứ được triển khai ở đó.

Tôi đã sử dụng thành công tất cả chúng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.