Datumbox Machine Learning Framework 0.6.0 julkaistiin PlatoBlockchain Data Intelligence. Pystysuuntainen haku. Ai.

Datumbox Machine Learning Framework 0.6.0 julkaistu

Datumbox Machine Learning Framework -sovelluksen uusi versio on julkaistu! Lataa se nyt Github or Mavenin keskusvarasto.

Mitä uutta?

Pääpaino version 0.6.0 Sen tarkoituksena on laajentaa kehys käsittelemään suurta dataa, parantaa koodiarkkitehtuuria ja julkisia sovellusliittymiä, yksinkertaistaa tietojen jäsentämistä, parantaa dokumentaatiota ja siirtyä sallittuun lisenssiin.

Katsotaan yksityiskohtaisesti tämän version muutokset:

  1. Käsittele suuria tietoja: Parannettu muistinhallinta ja uudet pysyvyyden tallennusmoottorit mahdollistivat kehyksen käsitellä suuria, usean gigatavun kokoisia tietoaineistoja. Tuen lisääminen MapDB tietokantamoottori mahdollistaa kehyksen välttää kaiken datan tallentamisen muistiin ja siten pystyä käsittelemään suurta dataa. Oletus InMemory-moottori on suunniteltu uudelleen tehokkaammaksi, kun taas MongoDB-moottori poistettiin suorituskykyongelmien vuoksi.
  2. Parannettu ja yksinkertaistettu kehysarkkitehtuuri: Vedenottoaste on vähentynyt huomattavasti ja useita ydinkomponentteja suunnitellaan uudelleen. Erityisesti pysyvyyden tallennusmekanismit kirjoitetaan uudelleen ja useita tarpeettomia ominaisuuksia ja tietorakenteita poistetaan.
  3. Uudet Scikit-oppimisen kaltaiset julkiset sovellusliittymät: Kaikki algoritmien julkiset menetelmät vaihdetaan muistuttamaan Pythonin Scikit-Learn -sovellusliittymiä (sovittamis- / ennustamis- / muuntamisparadigma). Uudet julkiset menetelmät ovat joustavampia, helpompia ja ystävällisempiä käyttää.
  4. Yksinkertaista tietojen jäsentämistä: Uusi kehys sisältää joukon mukavuusmenetelmiä, jotka mahdollistavat CSV- tai tekstitiedostojen nopean jäsentämisen ja muuntamisen tietojoukko-objekteiksi.
  5. Parannettu dokumentaatio: Kaikki viitekehyksen julkiset / suojatut luokat ja menetelmät on dokumentoitu käyttämällä Javadoc-kommentteja. Lisäksi uusi versio tarjoaa parannettuja JUnit-testejä, jotka ovat loistavia esimerkkejä siitä, kuinka kehysten kaikkia algoritmeja käytetään.
  6. Uusi Apache-lisenssi: Kehyksen ohjelmistolisenssi muuttuiGNU General Public License v3.0"To"Apache-lisenssi, versio 2.0”. Uusi lisenssi on sallittu ja se mahdollistaa uudelleenjakamisen kaupallisissa ohjelmistoissa.

Koska suuri osa kehyksestä kirjoitettiin uudelleen, jotta se olisi tehokkaampaa ja helpompaa käyttää, versio 0.6.0 on ei taaksepäin yhteensopiva aiempien versioiden kanssa. Viimeinkin kehys siirtyi Alfasta Beta-kehitysvaiheeseen ja sitä tulisi pitää vakaampana.

Miten sitä käytetään

Olemme aikaisemmassa blogiviestissä toimittaneet yksityiskohtainen asennusopas kuinka asentaa kehys. Tämä opas on edelleen voimassa uudessa versiossa. Lisäksi tästä uudesta versiosta löytyy useita Koodiesimerkit siitä, kuinka kehysmalleja ja algoritmeja käytetään.

Seuraavat vaiheet ja tiekartta

Kehyksen kehittämistä jatketaan ja seuraavat parannukset tulisi tehdä ennen version 1.0 julkaisua:

  1. Usta Kehys konsolista: Vaikka viitekehyksen päätavoite on auttaa koneoppimissovellusten kehittämistä, sen tulisi olla helpompaa käyttää muilta kuin Java-kehittäjiltä. Noudattaen samanlaista lähestymistapaa kuin Mahout, kehyksen tulisi tarjota pääsy algoritmeihin konsolin komentoja käyttämällä. Rajapinnan tulisi olla yksinkertainen, helppokäyttöinen ja eri algoritmit on helppo yhdistää.
  2. Tuki monisäiettämiseen: Kehys käyttää nykyisin säikeitä vain puhdistusprosesseihin ja asynkroniseen kirjoittamiseen levylle. Joitakin algoritmeja voidaan kuitenkin rinnakkaista ja tämä vähentää merkittävästi suoritusaikoja. Näissä tapauksissa ratkaisun tulisi olla tyylikäs ja sen tulisi muuttaa mahdollisimman vähän koneoppimisalgoritmien sisäistä logiikkaa / matematiikkaa.
  3. Vähennä 2d-matriisien ja matriisien käyttöä: Pieni määrä algoritmeja käyttää edelleen 2d-taulukkoja ja -matriiseja. Tällöin kaikki tiedot ladataan muistiin, mikä rajoittaa käytettävän tietojoukon kokoa. Joitakin algoritmeja (kuten PCA) tulisi tehdä uudelleen matriisien käytön välttämiseksi, kun taas toisten (kuten GaussianDPMM, MultinomialDPMM jne.) On käytettävä harvoja matriiseja.

Muut tärkeät tehtävät, jotka tulisi tehdä tulevissa versioissa:

  1. Sisällytä uudet koneoppimisalgoritmit: Kehystä voidaan laajentaa tukemaan useita suuria algoritmeja, kuten Gaussien sekoitus, Gaussin prosessit, k-NN, päätöspuut, tekijäanalyysi, SVD, PLSI, keinotekoiset hermostoverkot jne.
  2. Paranna dokumentaatiota, Testin kattavuus & Koodiesimerkkejä: Luo parempi dokumentaatio, paranna JUnit-testejä, paranna koodikommentteja, tarjoa parempia esimerkkejä algoritmien käytöstä jne.
  3. Paranna arkkitehtuuria & Optimoi koodi: Kehyksen arkkitehtuurin yksinkertaistamista ja parantamista edelleen, rationalisoidaan abstraktio, parannetaan suunnittelua, optimoidaan nopeus ja muistin kulutus jne.

Kuten huomaat, se on pitkä tie ja voisin käyttää apua. Jos olet haasteesi edessä pudota minua linja tai lähetä vetopyyntösi githubiin.

Kiitokset

Haluaisin kiittää Eleftherios Bampaletakis hänen arvokkaasta panoksestaan ​​puitteiden arkkitehtuurin parantamiseksi. Haluan myös kiittää ej-technologies GmbH siitä, että olen antanut minulle lisenssin heidän Java-profiililleen. Lisäksi minun kudot Jan Kotek hänen hämmästyttävästä työstään MapDB-tallennuskoneessa. Viimeisenä, mutta ei vähäisimpänä, rakkauteni tyttöystävälleni Kyriakille, että hän on sietänyt minua.

Muista ladata Datumbox v0.6.0 -koodi Github. Kirjasto on saatavana myös Mavenin keskusvarasto. Lisätietoja kirjaston käytöstä Java-projektin kassalla on seuraava ohjaavat tai lue ohjeet Github-repo-sivuston pääsivulta.

Odotan innolla kommentteja ja suosituksia. Pull-pyynnöt ovat aina tervetulleita! 🙂

Aikaleima:

Lisää aiheesta Datumbox