Kerangka Pembelajaran Mesin Datumbox 0.6.0 Merilis Data Intelligence PlatoBlockchain. Pencarian Vertikal. Ai.

Kerangka Pembelajaran Mesin Datumbox 0.6.0 Dirilis

Versi baru Kerangka Pembelajaran Mesin Datumbox telah dirilis! Unduh sekarang dari Github or Repositori Sentral Maven.

Apa yang baru?

Fokus utama dari versi 0.6.0 adalah memperluas Kerangka untuk menangani Data Besar, meningkatkan arsitektur kode dan API publik, menyederhanakan penguraian data, menyempurnakan dokumentasi, dan beralih ke lisensi yang permisif.

Mari kita lihat secara rinci perubahan versi ini:

  1. Menangani Data Besar: Manajemen memori yang ditingkatkan dan mesin penyimpanan persistensi baru memungkinkan kerangka kerja untuk menangani kumpulan data besar dengan ukuran beberapa GB. Menambahkan dukungan dari PetaDB mesin database memungkinkan kerangka kerja untuk menghindari menyimpan semua data dalam memori dan dengan demikian dapat menangani data yang besar. Mesin InMemory default didesain ulang agar lebih efisien sementara mesin MongoDB dihapus karena masalah kinerja.
  2. Arsitektur Kerangka yang ditingkatkan dan disederhanakan: Tingkat abstraksi berkurang secara signifikan dan beberapa komponen inti didesain ulang. Khususnya mekanisme penyimpanan persistensi ditulis ulang dan beberapa fitur dan struktur data yang tidak perlu dihapus.
  3. API publik "Scikit-Learn-like" baru: Semua metode publik dari algoritme diubah agar menyerupai API Scikit-Learn Python (paradigma fit/predict/transform). Metode publik baru lebih fleksibel, lebih mudah dan lebih ramah untuk digunakan.
  4. Sederhanakan penguraian data: Kerangka kerja baru ini hadir dengan serangkaian metode praktis yang memungkinkan penguraian cepat file CSV atau Teks dan konversinya ke objek Dataset.
  5. Peningkatan Dokumentasi: Semua kelas publik/dilindungi dan metode Kerangka didokumentasikan menggunakan komentar Javadoc. Selain itu, versi baru menyediakan pengujian JUnit yang ditingkatkan yang merupakan contoh bagus tentang cara menggunakan setiap algoritme kerangka kerja.
  6. Lisensi Apache Baru: Lisensi perangkat lunak kerangka berubah dari “Lisensi Publik Umum GNU v3.0"To"Lisensi Apache, Versi 2.0“. Lisensi baru bersifat permisif dan memungkinkan redistribusi dalam perangkat lunak komersial.

Karena sebagian besar kerangka kerja ditulis ulang untuk membuatnya lebih efisien dan lebih mudah digunakan, versi 0.6.0 adalah tidak kompatibel ke belakang dengan versi kerangka kerja sebelumnya. Akhirnya framework pindah dari Alpha ke fase pengembangan Beta dan harus dianggap lebih stabil.

Cara menggunakannya

Dalam posting blog sebelumnya, kami telah menyediakan panduan instalasi terperinci tentang cara menginstal Framework. Panduan ini masih berlaku untuk versi baru. Selain itu dalam versi baru ini Anda dapat menemukan beberapa Contoh Kode tentang cara menggunakan model dan algoritma Framework.

Langkah & peta jalan selanjutnya

Pengembangan kerangka kerja akan terus berlanjut dan penyempurnaan berikut harus dilakukan sebelum rilis versi 1.0:

  1. Using Kerangka dari konsol: Meskipun target utama dari framework ini adalah untuk membantu pengembangan aplikasi Machine Learning, seharusnya dibuat lebih mudah untuk digunakan dari developer non-Java. Mengikuti pendekatan yang mirip dengan Mahout, kerangka kerja harus menyediakan akses ke algoritme menggunakan perintah konsol. Antarmuka harus sederhana, mudah digunakan dan algoritma yang berbeda harus mudah digabungkan.
  2. Dukungan Multi-threading: Kerangka kerja saat ini menggunakan utas hanya untuk proses pembersihan dan penulisan asinkron ke dalam disk. Namun demikian beberapa algoritma dapat diparalelkan dan ini akan secara signifikan mengurangi waktu eksekusi. Solusi dalam kasus ini harus elegan dan harus memodifikasi sesedikit mungkin logika/matematika internal dari algoritme pembelajaran mesin.
  3. Kurangi penggunaan array & matriks 2d: Sejumlah kecil algoritma masih menggunakan array dan matriks 2d. Hal ini menyebabkan semua data dimuat ke dalam memori yang membatasi ukuran dataset yang dapat digunakan. Beberapa algoritma (seperti PCA) harus diimplementasikan kembali untuk menghindari penggunaan matriks sedangkan untuk yang lain (seperti GaussianDPMM, MultinomialDPMM dll) kita harus menggunakan matriks jarang.

Tugas penting lainnya yang harus dilakukan di versi mendatang:

  1. Sertakan algoritme Pembelajaran Mesin baru: Kerangka kerja dapat diperluas untuk mendukung beberapa algoritma hebat seperti Campuran Gaussians, Proses Gaussian, k-NN, Pohon Keputusan, Analisis Faktor, SVD, PLSI, Jaringan Syaraf Tiruan, dll.
  2. Meningkatkan Dokumentasi, Cakupan tes & Contoh kode: Buat dokumentasi yang lebih baik, tingkatkan pengujian JUnit, tingkatkan komentar kode, berikan contoh yang lebih baik tentang cara menggunakan algoritme, dll.
  3. Tingkatkan Arsitektur & Optimalkan kode: Penyederhanaan dan peningkatan lebih lanjut pada arsitektur kerangka kerja, merasionalisasi abstraksi, meningkatkan desain, mengoptimalkan kecepatan dan konsumsi memori, dll.

Seperti yang Anda lihat, ini adalah jalan yang panjang dan saya bisa menggunakan bantuan. Jika Anda siap untuk tantangan drop me a line atau kirim permintaan tarik Anda di github.

Ucapan Terima Kasih

Saya ingin mengucapkan terima kasih Eleftherios Bmpaletakis atas masukannya yang tak ternilai dalam meningkatkan arsitektur Framework. Saya juga ingin mengucapkan terima kasih kepada ej-teknologi GmbH untuk memberi saya lisensi untuk Java Profiler mereka. Apalagi pujian saya untuk Jan Kotek untuk pekerjaannya yang luar biasa di mesin penyimpanan MapDB. Last but not least, cintaku pada pacarku Kyriaki karena bertahan denganku.

Jangan lupa untuk mengunduh kode Datumbox v0.6.0 dari Github. Perpustakaan juga tersedia di Repositori Sentral Maven. Untuk informasi lebih lanjut tentang cara menggunakan perpustakaan di proyek Java Anda, periksa yang berikut ini membimbing atau baca instruksi di halaman utama repo Github kami.

Saya menantikan komentar dan rekomendasi Anda. Permintaan tarik selalu diterima! 🙂

Stempel Waktu:

Lebih dari kotak data