Perpustakaan pembelajaran mesin lengkap untuk Java / Scala [ditutup]

8

Python banyak perpustakaan ML (seperti scikit-belajar yang hebat) Apakah ada yang baik untuk java / scala, yang mengandung banyak algo (regresi, klasifikasi, clustering, cross-validasi, pemrosesan fitur), stabil & terpelihara dan mampu menangani dataset besar?

Saya baru saja menemukan Mahout, Breeze / Nak, dan Weka, tetapi mereka tidak tampak sehebat yang Python.

Selain itu, jika tidak ada yang setara, bagaimana saya bisa menghubungkan kode java dengan Python secara efisien?

boskaiolo
sumber
Mungkin pertimbangkan untuk menambahkan sedikit detail tentang apa yang membuat scikit-belajar hebat dibandingkan dengan Mahout & c.
Scortchi
Banyak algoritma untuk klasifikasi, regresi, pemilihan fitur, pengurangan fitur, dan sebagainya. Selain itu, ia memiliki komunitas besar kontributor dan dukungan
boskaiolo
Bisakah Anda sedikit lebih spesifik tentang apa yang ingin Anda capai? Cara umum untuk "menghubungkan" java dan python adalah dengan menggunakan jython, jython.org .
sandris
Lihat mloss.org
Marc Claesen

Jawaban:

16

Anda mungkin dapat membantu ini daftar curated luas dari ML perpustakaan, kerangka kerja dan perangkat lunak . Secara khusus, ini berisi sumber daya yang Anda cari - daftar ML untuk Java dan Scala .

Aleksandr Blekh
sumber
7
saya adalah pemilik daftar itu - saya ingin menambahkan bahwa daftar ini diperbarui secara berkala - dengan permintaan penarikan datang setiap minggu
Joseph Misiti
@JosephMisiti: Terima kasih atas pembaruannya. Itu baik untuk diketahui - teruskan.
Aleksandr Blekh
5

Apache Spark dan khususnya komponennya, MLlib, persis seperti yang Anda cari. MLlib berisi implementasi untuk klasifikasi, regresi, pengurangan dimensi, dll. Anda dapat memprogram dalam Scala, Java, dan Python.

Ini pada dasarnya kerangka kerja komputasi terdistribusi sangat cepat yang dapat dijalankan dalam cluster Hadoop. Untuk tujuan pengembangan, Anda dapat dengan mudah menjalankannya dalam mode mandiri (tanpa Hadoop) pada mesin lokal Anda juga.

Lihatlah panduan MLlib di sini: https://spark.apache.org/docs/latest/mllib-guide.html

Suvir
sumber
1

Hava lihat di JavaML ( http://java-ml.sourceforge.net/ ) dan Encog ( http://www.heatonresearch.com/encog ). Yang terakhir ini lebih berfokus pada Neural Networks daripada pada banyak algoritma.

Juga, weka mungkin tidak memiliki java API yang sangat ramah (karena, pertama-tama, ini adalah aplikasi GUI, bukan perpustakaan), tetapi ketika Anda terbiasa, Anda mulai menghargai berapa banyak hal yang diterapkan di sana.

Saya telah berhasil menggunakan semuanya.

Alexey Grigorev
sumber