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?
machine-learning
python
software
java
boskaiolo
sumber
sumber
Jawaban:
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 .
sumber
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
sumber
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.
sumber