Megjelent a Datumbox Machine Learning Framework 0.6.0 PlatoBlockchain Data Intelligence. Függőleges keresés. Ai.

Megjelent a Datumbox Machine Learning Framework 0.6.0

Megjelent a Datumbox Machine Learning Framework új verziója! Töltse le most innen GitHub or Maven központi adattár.

Mi újság?

A fő hangsúly a 0.6.0 verzió célja a keretrendszer kiterjesztése a nagyméretű adatok kezelésére, a kódarchitektúra és a nyilvános API-k fejlesztése, az adatelemzés egyszerűsítése, a dokumentáció javítása és a megengedő licencre való átállás.

Nézzük részletesen ennek a verziónak a változásait:

  1. Nagy adatok kezelése: A továbbfejlesztett memóriakezelés és az új állandó tárolási motorok lehetővé tették a keretrendszer számára, hogy több GB méretű nagy adatkészleteket is kezeljen. Támogatás hozzáadása a MapDB Az adatbázismotor lehetővé teszi a keretrendszer számára, hogy elkerülje az összes adat tárolását a memóriában, és így képes legyen nagy mennyiségű adat kezelésére. Az alapértelmezett InMemory motort újratervezték, hogy hatékonyabb legyen, míg a MongoDB motort teljesítményproblémák miatt eltávolították.
  2. Továbbfejlesztett és egyszerűsített Framework architektúra: Az absztrakció szintje jelentősen lecsökken, és számos alapvető összetevőt újraterveznek. Különösen a perzisztencia tárolási mechanizmusait írják át, és számos szükségtelen funkciót és adatstruktúrát eltávolítanak.
  3. Új „Scikit-Learn-like” nyilvános API-k: Az algoritmusok összes nyilvános metódusa megváltozott, hogy hasonlítson a Python Scikit-Learn API-jaira (az illesztés/előrejelzés/átalakítás paradigma). Az új nyilvános módszerek rugalmasabbak, könnyebben és barátságosabban használhatók.
  4. Egyszerűsítse az adatelemzést: Az új keretrendszer egy sor kényelmi módszert tartalmaz, amelyek lehetővé teszik a CSV vagy szöveges fájlok gyors elemzését és adatkészlet objektumokká való konvertálását.
  5. Továbbfejlesztett dokumentáció: A keretrendszer összes nyilvános/védett osztálya és metódusa Javadoc megjegyzésekkel van dokumentálva. Ezenkívül az új verzió továbbfejlesztett JUnit teszteket kínál, amelyek nagyszerű példák a keretrendszer minden algoritmusának használatára.
  6. Új Apache licenc: A keretrendszer szoftverlicence megváltozott a következőről:GNU Általános Nyilvános Licenc v3.0"A"Apache licenc, 2.0-s verzió“. Az új licenc megengedő, és lehetővé teszi a kereskedelmi szoftvereken belüli újraterjesztést.

Mivel a keretrendszer nagy részét átírták, hogy hatékonyabb és könnyebben használható legyen, a 0.6.0 verzió visszafelé nem kompatibilis a keretrendszer korábbi verzióival. Végül a keretrendszer az Alpha verzióból a béta fejlesztési fázisba került, és stabilabbnak kell tekinteni.

Hogyan kell használni

Egy korábbi blogbejegyzésünkben megadtuk a részletes telepítési útmutató a keretrendszer telepítéséről. Ez az útmutató továbbra is érvényes az új verzióra. Ezen kívül ebben az új verzióban számos Kódpéldák a modellek és a keretrendszer algoritmusainak használatáról.

Következő lépések és ütemterv

A keretrendszer fejlesztése folytatódik, és a következő fejlesztéseket kell elvégezni az 1.0-s verzió megjelenése előtt:

  1. UsING Framework konzolról: Annak ellenére, hogy a keretrendszer fő célja a Machine Learning alkalmazások fejlesztésének segítése, egyszerűbbé kell tenni a nem Java fejlesztők számára történő használatát. A Mahouthoz hasonló megközelítést követve a keretrendszernek hozzáférést kell biztosítania az algoritmusokhoz konzolparancsok segítségével. A felület legyen egyszerű, könnyen használható, és a különböző algoritmusok könnyen kombinálhatók.
  2. Többszálú feldolgozás támogatása: A keretrendszer jelenleg csak tisztítási folyamatokhoz és aszinkron lemezre íráshoz használ szálakat. Ennek ellenére néhány algoritmus párhuzamosítható, és ez jelentősen csökkenti a végrehajtási időt. A megoldás ezekben az esetekben legyen elegáns, és a lehető legkevésbé módosítsa a gépi tanulási algoritmusok belső logikáját/matematikáját.
  3. Csökkentse a 2d tömbök és mátrixok használatát: Néhány algoritmus még mindig 2d tömböket és mátrixokat használ. Ez az összes adatot a memóriába tölti be, ami korlátozza a használható adatkészlet méretét. Egyes algoritmusokat (például PCA) újra kell implementálni, hogy elkerüljük a mátrixok használatát, míg mások esetében (például GaussianDPMM, MultinomialDPMM stb.) ritka mátrixokat kell használnunk.

További fontos feladatok, amelyeket a következő verziókban kell elvégezni:

  1. Tartalmazzon új gépi tanulási algoritmusokat: A keretrendszer kiterjeszthető számos nagyszerű algoritmus támogatására, mint például a Gauss-féle keverék, a Gauss-folyamatok, a k-NN, a döntési fák, a faktorelemzés, az SVD, a PLSI, a mesterséges neurális hálózatok stb.
  2. A dokumentáció javítása, Teszt lefedettség & Kódpéldák: Hozzon létre jobb dokumentációt, javítsa a JUnit teszteket, javítsa a kód megjegyzéseit, mutasson jobb példákat az algoritmusok használatára stb.
  3. Az építészet fejlesztése & Kód optimalizálása: A keretrendszer architektúrájának további egyszerűsítése és fejlesztése, az absztrakció ésszerűsítése, a tervezés javítása, a sebesség és a memóriafogyasztás optimalizálása stb.

Amint látja, ez egy hosszú út, és szükségem lenne egy kis segítségre. Ha készen állsz a kihívásra dobj egy sort vagy küldje el lehívási kérelmét a githubon.

Köszönetnyilvánítás

szeretném megköszönni Eleftherios Bampaletakis a Framework architektúrájának javításához nyújtott felbecsülhetetlen értékű hozzájárulásáért. Ezúton is szeretném megköszönni ej-technologies GmbH amiért licencet adtak nekem a Java Profilerhez. Ezen kívül elismerésem Jan Kotek a MapDB tárolómotorban végzett csodálatos munkájáért. Végül, de nem utolsósorban, szerelmem Kyriaki barátnőmnek, amiért eltűrt.

Ne felejtse el letölteni a Datumbox v0.6.0 kódját innen GitHub. A könyvtár a címen is elérhető Maven központi adattár. Ha további információra van szüksége a könyvtár Java-projektben való használatáról, tekintse meg az alábbiakat útmutató vagy olvassa el a Github repónk főoldalán található utasításokat.

Várom észrevételeiket, javaslataikat. Húzási kéréseket mindig szívesen fogadunk! 🙂

Időbélyeg:

Még több Datumbox