Datumbox Machine Learning Framework 0.6.0 Yayımlandı PlatoBlockchain Veri Zekası. Dikey Arama. Ai.

Datumbox Machine Learning Framework 0.6.0 Yayımlandı

Datumbox Machine Learning Framework'ün yeni sürümü yayınlandı! Şimdi indirin Github or Maven Merkez Deposu.

Ne yeni?

Ana odak sürümü 0.6.0 Çerçeveyi Büyük Verileri işleyecek, kod mimarisini ve genel API'leri iyileştirecek, veri ayrıştırmayı basitleştirecek, belgeleri iyileştirecek ve izin verilen bir lisansa geçecek şekilde genişletmektir.

Bu sürümdeki değişiklikleri ayrıntılı olarak görelim:

  1. Büyük Verileri İşleyin: Geliştirilmiş bellek yönetimi ve yeni kalıcılık depolama motorları, çerçevenin birkaç GB boyutunda büyük veri kümelerini işlemesini sağladı. İçin destek ekleniyor HaritaDB veritabanı motoru, çerçevenin tüm verileri bellekte saklamaktan kaçınmasını ve böylece büyük verileri işleyebilmesini sağlar. Varsayılan InMemory motoru, performans sorunları nedeniyle MongoDB motoru kaldırılırken daha verimli olacak şekilde yeniden tasarlandı.
  2. Geliştirilmiş ve basitleştirilmiş Çerçeve mimarisi: Soyutlama düzeyi önemli ölçüde azaltılır ve birkaç temel bileşen yeniden tasarlanır. Özellikle kalıcı depolama mekanizmaları yeniden yazılır ve bazı gereksiz özellikler ve veri yapıları kaldırılır.
  3. Yeni "Scikit-Learn benzeri" genel API'ler: Algoritmaların tüm genel yöntemleri, Python'un Scikit-Learn API'lerine (uydur / tahmin et / dönüştür paradigması) benzemek için değiştirildi. Yeni halka açık yöntemler daha esnek, daha kolay ve kullanımı daha kolay.
  4. Veri ayrıştırmayı basitleştirin: Yeni çerçeve, CSV veya Metin dosyalarının hızlı bir şekilde ayrıştırılmasına ve Veri Kümesi nesnelerine dönüştürülmesine izin veren bir dizi kolaylık yöntemiyle birlikte gelir.
  5. Geliştirilmiş Belgeler: Framework'ün tüm genel / korumalı sınıfları ve yöntemleri, Javadoc yorumları kullanılarak belgelenmiştir. Ek olarak yeni sürüm, çerçevenin her algoritmasının nasıl kullanılacağına dair harika örnekler olan gelişmiş JUnit testleri sağlar.
  6. Yeni Apache Lisansı: Çerçevenin yazılım lisansı "GNU Genel Kamu Lisansı v3.0"Kime"Apache Lisansı, Sürüm 2.0". Yeni lisans izinlidir ve ticari yazılım içinde yeniden dağıtıma izin verir.

Çerçevenin büyük bir kısmı daha verimli ve kullanımı daha kolay hale getirmek için yeniden yazıldığından, 0.6.0 sürümü geriye doğru uyumlu değil çerçevenin önceki sürümleriyle. Son olarak çerçeve, Alpha'dan Beta geliştirme aşamasına geçti ve daha kararlı olduğu düşünülmelidir.

Nasıl kullanılacağını

Önceki bir blog gönderisinde, bir detaylı kurulum kılavuzu Framework'ün nasıl kurulacağı hakkında. Bu kılavuz, yeni sürüm için hala geçerlidir. Ek olarak bu yeni sürümde birkaç tane bulabilirsiniz Kod Örnekleri Framework modellerinin ve algoritmalarının nasıl kullanılacağı hakkında.

Sonraki adımlar ve yol haritası

Çerçevenin geliştirilmesi devam edecek ve 1.0 sürümünün yayınlanmasından önce aşağıdaki iyileştirmeler yapılmalıdır:

  1. Using Konsoldan çerçeve: Çerçevenin ana hedefi Makine Öğrenimi uygulamalarının geliştirilmesine yardımcı olmak olsa da, Java dışındaki geliştiriciler tarafından kullanılması daha kolay hale getirilmelidir. Mahout ile benzer bir yaklaşımı izleyen çerçeve, konsol komutlarını kullanarak algoritmalara erişim sağlamalıdır. Arayüz basit, kullanımı kolay olmalı ve farklı algoritmalar kolaylıkla birleştirilebilmelidir.
  2. Çoklu iş parçacığı desteği: Çerçeve şu anda yalnızca temizleme işlemleri ve diske zaman uyumsuz yazma için iş parçacıkları kullanıyor. Yine de bazı algoritmalar paralelleştirilebilir ve bu, yürütme sürelerini önemli ölçüde azaltacaktır. Bu durumlarda çözüm zarif olmalı ve makine öğrenimi algoritmalarının dahili mantığını / matematiğini olabildiğince az değiştirmelidir.
  3. 2d dizilerin ve matrislerin kullanımını azaltın: Az sayıda algoritma hala 2 boyutlu dizileri ve matrisleri kullanır. Bu, kullanılabilecek veri kümesinin boyutunu sınırlayan tüm verilerin belleğe yüklenmesine neden olur. Bazı algoritmalar (PCA gibi) matris kullanımından kaçınmak için yeniden uygulanmalı, diğerleri için (GaussianDPMM, MultinomialDPMM vb.) Seyrek matrisler kullanmalıyız.

Gelecek sürümlerde yapılması gereken diğer önemli görevler:

  1. Yeni Makine Öğrenimi algoritmalarını dahil edin: Çerçeve, Mixture of Gaussian, Gaussian Processes, k-NN, Decision Trees, Factor Analysis, SVD, PLSI, Artificial Neural Networks vb. Gibi birkaç harika algoritmayı desteklemek için genişletilebilir.
  2. Dokümantasyonu İyileştirin, Test kapsamı & Kod örnekleri: Daha iyi bir dokümantasyon oluşturun, JUnit testlerini iyileştirin, kod yorumlarını geliştirin, algoritmaların nasıl kullanılacağına dair daha iyi örnekler sağlayın vb.
  3. Mimariyi Geliştirin & Kodu optimize edin: Çerçevenin mimarisinde daha fazla basitleştirme ve iyileştirme, soyutlamayı rasyonelleştirin, tasarımı iyileştirin, hızı ve bellek tüketimini optimize edin vb.

Gördüğünüz gibi uzun bir yol ve biraz yardıma ihtiyacım var. Eğer meydan okumaya hazırsan bana yaz veya çekme talebinizi github üzerinden gönderin.

Teşekkür

teşekkür etmek isterim Elefterios Bampaletakis Framework'ün mimarisini iyileştirme konusundaki paha biçilmez girdileri için. Ayrıca teşekkür ederim ej-Technologies GmbH bana Java Profiler için bir lisans sağladıkları için. Üstelik şükürlerimi Jan Kotek MapDB depolama motorundaki muhteşem çalışması için. Son olarak, kız arkadaşım Kyriaki'ye bana katlandığı için sevgilerim.

Datumbox v0.6.0 kodunu şuradan indirmeyi unutmayın: Github. Kütüphane şu adresten de bulunabilir: Maven Merkez Deposu. Java projenizde kitaplığı nasıl kullanacağınız hakkında daha fazla bilgi için aşağıdakilere göz atın rehberlik veya Github depomuzun ana sayfasındaki talimatları okuyun.

Yorum ve önerilerinizi bekliyorum. Çekme istekleri her zaman bekleriz! 🙂

Zaman Damgası:

Den fazla Veri kutusu