Datumboxi masinõppe raamistik 0.6.0 on välja antud PlatoBlockchain Data Intelligence. Vertikaalne otsing. Ai.

Datumboxi masinõppe raamistik 0.6.0 Välja antud

Datumboxi masinõppe raamistiku uus versioon on välja antud! Laadige see kohe alla saidilt Github or Maveni keskhoidla.

Mis on uus?

Põhirõhk versioon 0.6.0 on laiendada raamistikku, et käsitleda suuri andmeid, täiustada koodiarhitektuuri ja avalikke API-sid, lihtsustada andmete sõelumist, täiustada dokumentatsiooni ja minna üle lubavale litsentsile.

Vaatame üksikasjalikult selle versiooni muudatusi:

  1. Käsitsege suuri andmeid: Täiustatud mäluhaldus ja uued püsisalvestusmootorid võimaldasid raamistikul käsitleda suuri andmekogusid, mille suurus on mitu GB. Toe lisamine MapDB andmebaasimootor võimaldab raamistikul vältida kõigi andmete mällu salvestamist ja seega suutma käsitleda suuri andmeid. Vaikimisi olev InMemory mootor on ümber kujundatud tõhusamaks, samal ajal kui MongoDB mootor eemaldati jõudlusprobleemide tõttu.
  2. Täiustatud ja lihtsustatud raamistiku arhitektuur: Abstraktsiooni taset vähendatakse oluliselt ja mitmed põhikomponendid on ümber kujundatud. Eelkõige kirjutatakse ümber püsisalvestusmehhanismid ning eemaldatakse mitmed mittevajalikud funktsioonid ja andmestruktuurid.
  3. Uued "Scikit-Learn-like" avalikud API-d: Kõik algoritmide avalikud meetodid on muudetud Pythoni Scikit-Learn API-de sarnaseks (sobitamise/ennustuse/teisendusparadigma). Uued avalikud meetodid on paindlikumad, lihtsamini kasutatavad ja sõbralikumad.
  4. Andmete sõelumise lihtsustamine: Uus raamistik on varustatud mugavate meetodite komplektiga, mis võimaldavad CSV- või tekstifailide kiiret sõelumist ja nende teisendamist andmestikuobjektideks.
  5. Täiustatud dokumentatsioon: Kõik raamistiku avalikud/kaitstud klassid ja meetodid on dokumenteeritud Javadoci kommentaaride abil. Lisaks pakub uus versioon täiustatud JUniti teste, mis on suurepärased näited raamistiku iga algoritmi kasutamisest.
  6. Uus Apache litsents: Raamistiku tarkvaralitsents muudetiGNU üldine avalik litsents v3.0"Et"Apache'i litsents, versioon 2.0“. Uus litsents on lubatav ja võimaldab kommertstarkvara raames levitada.

Kuna suur osa raamistikust kirjutati ümber, et muuta see tõhusamaks ja hõlpsamini kasutatavaks, on versioon 0.6.0 ei ühildu tagasi raamistiku varasemate versioonidega. Lõpuks liikus raamistik Alpha versioonist beeta arendusfaasi ja seda tuleks pidada stabiilsemaks.

Kuidas seda kasutada

Eelmises blogipostituses oleme esitanud a üksikasjalik paigaldusjuhend raamistiku installimise kohta. See juhend kehtib ka uue versiooni jaoks. Lisaks leiate sellest uuest versioonist mitu Koodinäited raamistiku mudelite ja algoritmide kasutamise kohta.

Järgmised sammud ja teekaart

Raamistiku arendamine jätkub ja enne versiooni 1.0 väljaandmist tuleks teha järgmised täiustused:

  1. Usse Konsoolilt pärit raamistik: Kuigi raamistiku põhieesmärk on aidata masinõppe rakendusi arendada, tuleks selle kasutamine mitte-Java arendajate jaoks lihtsamaks muuta. Järgides sarnast lähenemist nagu Mahout, peaks raamistik võimaldama juurdepääsu algoritmidele konsoolikäskude abil. Liides peaks olema lihtne, hõlpsasti kasutatav ja erinevaid algoritme tuleks hõlpsasti kombineerida.
  2. Mitme keermestamise toetamine: Raamistik kasutab praegu lõime ainult puhastusprotsesside ja asünkroonse kettale kirjutamise jaoks. Sellegipoolest saab mõnda algoritmi paralleelstada ja see vähendab oluliselt täitmisaegu. Sellistel juhtudel peaks lahendus olema elegantne ja muutma võimalikult vähe masinõppe algoritmide sisemist loogikat/matemaatikat.
  3. Vähendage 2D-massiivide ja maatriksite kasutamist: Väike hulk algoritme kasutab endiselt 2D massiive ja maatrikseid. See põhjustab kõigi andmete mällu laadimise, mis piirab kasutatava andmekogumi suurust. Mõned algoritmid (nt PCA) tuleks uuesti rakendada, et vältida maatriksite kasutamist, samas kui teiste (nt GaussianDPMM, MultinomialDPMM jne) puhul peaksime kasutama hõredaid maatrikseid.

Muud olulised ülesanded, mida tuleks tulevastes versioonides teha:

  1. Kaasake uued masinõppe algoritmid: Raamistiku saab laiendada, et toetada mitmeid suurepäraseid algoritme, nagu Gaussi segu, Gaussi protsessid, k-NN, otsustuspuud, faktorianalüüs, SVD, PLSI, tehisnärvivõrgud jne.
  2. dokumentatsiooni täiustamine, Katse katvus & Koodi näited: Looge parem dokumentatsioon, täiustage JUniti teste, täiustage koodi kommentaare, esitage paremaid näiteid algoritmide kasutamise kohta jne.
  3. Arhitektuuri täiustamine & Optimeeri kood: Raamistiku arhitektuuri edasine lihtsustamine ja täiustamine, abstraktsiooni ratsionaliseerimine, disaini parandamine, kiiruse ja mälutarbimise optimeerimine jne.

Nagu näete, on see pikk tee ja mul oleks abi vaja. Kui olete väljakutseks valmis viska mulle rida või saatke oma tõmbamistaotlus githubis.

Tänusõnad

Ma tahaksin tänada Eleftherios Bampaletakis hindamatu panuse eest raamistiku arhitektuuri täiustamisel. Samuti tahaksin tänada ej-technologies GmbH et andsid mulle oma Java Profileri litsentsi. Lisaks minu kiitus Jan Kotek suurepärase töö eest MapDB salvestusmootoris. Viimaseks, kuid mitte vähemtähtsaks, minu armastus oma tüdruksõbra Kyriaki vastu, et ta mind talus.

Ärge unustage Datumboxi v0.6.0 koodi alla laadida Github. Raamatukogu on saadaval ka aadressil Maveni keskhoidla. Lisateabe saamiseks selle kohta, kuidas Java projektis teegi kasutada, vaadake järgmist suunata või lugege juhiseid meie Githubi repo avalehel.

Ootan teie kommentaare ja soovitusi. Tõmbesoovid on alati teretulnud! 🙂

Ajatempel:

Veel alates Datumbox