Programmēšana

14 atvērtā pirmkoda rīki, lai maksimāli izmantotu mašīnmācīšanos

Mēstuļu filtrēšana, sejas atpazīšana, ieteikumu motori - ja jums ir liela datu kopa, kurā vēlaties veikt prognozējošu analīzi vai modeļu atpazīšanu, mašīnmācīšanās ir pareizais ceļš. Bezmaksas atklātā pirmkoda programmatūras izplatīšanās ir padarījusi mašīnmācīšanos vieglāk realizējamu gan atsevišķās mašīnās, gan mērogā, kā arī populārākajās programmēšanas valodās. Šie atvērtā pirmkoda rīki ietver bibliotēkas, piemēram, Python, R, C ++, Java, Scala, Clojure, JavaScript un Go.

Apache Mahout

Apache Mahout nodrošina veidu, kā izveidot vidi mašīnmācīšanās lietojumprogrammu mitināšanai, kuras var ātri un efektīvi mērogot, lai apmierinātu pieprasījumu. Mahout galvenokārt strādā ar citu labi zināmu Apache projektu Spark un sākotnēji tika izstrādāts sadarbībai ar Hadoop, lai palaistu izplatītās lietojumprogrammas, taču ir paplašināts, lai darbotos ar citiem izplatītiem aizmugurējiem galiem, piemēram, Flink un H2O.

Mahout Scala lieto domēna valodu. Versija 0.14 ir galvenais projekta iekšējais refaktors, kura noklusējuma pamatā ir Apache Spark 2.4.3.

Rakstīt

Komponēšana, ko veic Innovation Labs, ir vērsta uz kopīgu problēmu ar mašīnmācīšanās modeļiem: neapstrādātu datu marķēšana, kas var būt lēns un garlaicīgs process, bet bez kura mašīnmācīšanās modelis nevar nodrošināt noderīgus rezultātus. Rakstīšana ļauj rakstīt Python jūsu datu marķēšanas funkciju kopu, tāpēc marķēšanu var veikt pēc iespējas programmētāk. Jūsu datiem var iestatīt dažādas transformācijas un sliekšņus, lai atvieglotu marķēšanas procesu, piemēram, datu ievietošana atkritumu tvertnēs, pamatojoties uz diskrētām vērtībām vai kvantilēm.

Galvenie ML rīki

Apple Core ML ietvars ļauj integrēt mašīnmācīšanās modeļus lietotnēs, bet izmanto savu atšķirīgo mācību modeļa formātu. Labā ziņa ir tā, ka jums nav nepieciešams iepriekš sagatavot modeļus Core ML formātā, lai tos izmantotu; ar Core ML Tools varat pārveidot modeļus no gandrīz visiem parasti izmantotajiem mašīnmācīšanās ietvariem uz Core ML.

Core ML Tools darbojas kā Python pakete, tāpēc tā integrējas ar bagātīgām Python mašīnmācīšanās bibliotēkām un rīkiem. TensorFlow, PyTorch, Keras, Caffe, ONNX, Scikit-learn, LibSVM un XGBoost modeļus var pārveidot. Neironu tīkla modeļus var arī optimizēt izmēram, izmantojot kvantēšanu pēc treniņa (piemēram, līdz nelielam bitu dziļumam, kas joprojām ir precīzs).

Garoza

Cortex nodrošina ērtu veidu, kā apkalpot mašīnmācīšanās modeļu prognozes, izmantojot Python un TensorFlow, PyTorch, Scikit-learn un citus modeļus. Lielākā daļa Cortex pakotņu sastāv tikai no dažiem failiem - jūsu pamata Python loģikas, cortex.yaml faila, kurā aprakstīti izmantojamie modeļi un kāda veida skaitļošanas resursi jāpiešķir, un failā követelménys.txt, lai instalētu nepieciešamās Python prasības. Visa pakotne ir izvietota kā Docker konteiners AWS vai citā ar Docker saderīgā mitināšanas sistēmā. Aprēķināšanas resursi tiek piešķirti tā, lai atbilstu Kubernetes izmantotajām definīcijām, un apkalpošanai varat izmantot GPU vai Amazon Inferentia ASIC.

Funkciju rīki

Funkciju inženierija jeb funkciju radīšana ietver mašīnmācīšanās modeļa apmācībai izmantoto datu ņemšanu un parasti ar roku izveidotu pārveidotu un apkopotu datu versiju, kas ir noderīgāka modeļa apmācībai. Funkcija Featuretools sniedz jums funkcijas, lai to izdarītu, izmantojot augsta līmeņa Python objektus, kas izveidoti, sintezējot datus datu ietvaros, un to var izdarīt datiem, kas iegūti no viena vai vairākiem datu ietvariem. Featuretools nodrošina arī sintēzes operāciju primitīvus (piem., time_since_previous, lai nodrošinātu laiku, kas pagājis starp laika apzīmējumu datu gadījumiem), tāpēc jums tie nav jālieto atsevišķi.

GoLearn

Saskaņā ar izstrādātāja Stephen Whitworth teikto, GoLearn, mašīnmācīšanās bibliotēka Google Go valodai, tika izveidota ar diviem vienkāršības un pielāgojamības mērķiem. Datu ielādes un apstrādes bibliotēkā vienkāršība ir veidota pēc SciPy un R.. Pielāgojamība ir saistīta ar to, kā dažas datu struktūras var viegli paplašināt lietojumprogrammā. Vitvorts ir izveidojis arī Go iesaiņotāju Vowpal Wabbit bibliotēkai, kas ir viena no bibliotēkām, kas atrodama Shogun rīkkastē.

Gradio

Viens no kopīgiem izaicinājumiem, veidojot mašīnmācīšanās lietojumprogrammas, ir spēcīga un viegli pielāgojama lietotāja interfeisa izveide modeļa apmācības un prognožu apkalpošanas mehānismiem. Gradio nodrošina rīkus tīmekļa lietotāja interfeisu izveidei, kas ļauj reāllaikā mijiedarboties ar saviem modeļiem. Vairāki iekļauti paraugprojekti, piemēram, Inception V3 attēlu klasifikatora ievades saskarnes vai MNIST rokraksta atpazīšanas modelis, sniedz priekšstatu par to, kā jūs varat izmantot Gradio ar saviem projektiem.

H2O

H2O, kas notiek jau trešajā lielajā pārskatā, nodrošina veselu platformu atmiņas mašīnu apguvei, sākot no apmācības līdz prognožu apkalpošanai. H2O algoritmi ir pielāgoti biznesa procesiem, piemēram, krāpšanai vai tendenču prognozēšanai, nevis, piemēram, attēlu analīzei. H2O var patstāvīgi mijiedarboties ar HDFS veikaliem, virs YARN, MapReduce vai tieši Amazon EC2 instancē.

Hadoop mavens var izmantot Java, lai mijiedarbotos ar H2O, taču ietvars nodrošina arī saites Python, R un Scala, ļaujot jums mijiedarboties ar visām bibliotēkām, kas pieejamas arī šajās platformās. Varat arī atgriezties pie REST zvaniem, lai H2O integrētu lielākajā daļā cauruļvadu.

Oryx

Oryx, pateicoties Cloudera Hadoop izplatītāja veidotājiem, izmanto Apache Spark un Apache Kafka, lai palaistu mašīnmācīšanās modeļus reāllaika datos. Oryx nodrošina veidu, kā veidot projektus, kuriem šobrīd nepieciešami lēmumi, piemēram, ieteikumu dzinēji vai reālu anomāliju noteikšana, kurus informē gan jaunie, gan vēsturiskie dati. Versija 2.0 ir gandrīz pilnīga projekta pārveidošana, un tā komponenti ir brīvi savienoti ar lambda arhitektūru. Jaunus algoritmus un jaunas šo algoritmu abstrakcijas (piemēram, hiperparametru izvēlei) var pievienot jebkurā laikā.

PyTorch zibens

Kad spēcīgs projekts kļūst populārs, to bieži papildina trešo pušu projekti, kas atvieglo tā izmantošanu. PyTorch Lightning nodrošina PyTorch organizatorisko iesaiņojumu, lai jūs varētu koncentrēties uz svarīgo kodu, nevis rakstīt katlu katram projektam.

Zibens projektos tiek izmantota uz klasēm balstīta struktūra, tāpēc katrs kopējais PyTorch projekta solis ir iekapsulēts klases metodē. Apmācības un validācijas cilpas ir daļēji automatizētas, tāpēc jums ir jāsniedz tikai katra soļa loģika. Apmācības rezultātus ir vieglāk iestatīt arī vairākos GPU vai dažādos aparatūras maisījumos, jo instrukcijas un objektu atsauces to veikšanai ir centralizētas.

Scikit-mācīties

Python ir kļuvis par matemātikas, zinātnes un statistikas programmēšanas valodu, pateicoties tā vienkāršībai un gandrīz visām lietojumprogrammām pieejamo bibliotēku plašumam. Scikit-learn izmanto šo plašumu, matemātikas un zinātnes darbam izveidojot virs vairākiem esošajiem Python paketiem - NumPy, SciPy un Matplotlib. Iegūtās bibliotēkas var izmantot interaktīvām “darbagalda” lietojumprogrammām vai iegult citā programmatūrā un izmantot atkārtoti. Komplekts ir pieejams ar BSD licenci, tāpēc tas ir pilnībā atvērts un atkārtoti lietojams.

Šoguns

Šoguns ir viens no visilgāk dzīvojošajiem projektiem šajā kolekcijā. Tas tika izveidots 1999. gadā un rakstīts C ++, taču to var izmantot kopā ar Java, Python, C #, Ruby, R, Lua, Octave un Matlab. Jaunākā galvenā versija 6.0.0 papildina vietējo atbalstu Microsoft Windows un Scala valodai.

Lai arī populārs un plašs, Šogunam ir konkurence. Cita mašīnmācīšanās bibliotēka, kas balstīta uz C ++, Mlpack darbojas tikai kopš 2011. gada, taču atzīst, ka ar to strādāt ir ātrāk un vieglāk (izmantojot integrētāku API kopu) nekā konkurējošām bibliotēkām.

Spark MLlib

Apache Spark un Apache Hadoop mašīnmācīšanās bibliotēka MLlib lepojas ar daudziem izplatītiem algoritmiem un noderīgiem datu tipiem, kas paredzēti darbībai ar ātrumu un mērogu. Lai gan Java ir galvenā valoda darbam MLlib, Python lietotāji var savienot MLlib ar NumPy bibliotēku, Scala lietotāji var rakstīt kodu pret MLlib un R lietotāji var pieslēgties Spark jau no 1.5 versijas. MLlib 3. versija koncentrējas uz Spark's DataFrame API izmantošanu (atšķirībā no vecākās RDD API) un nodrošina daudzas jaunas klasifikācijas un novērtēšanas funkcijas.

Cits projekts MLbase tiek veidots virs MLlib, lai atvieglotu rezultātu iegūšanu. Tā vietā, lai rakstītu kodu, lietotāji vaicā deklaratīvā valodā à la SQL.

Weka

Weka, kuru izveidoja Veikato universitātes Mašīnmācīšanās grupa, tiek iekasēta kā mašīnmācīšanās bez programmēšanas. Tas ir GUI darbagalds, kas ļauj datu cīkstoņiem apkopot mašīnmācīšanās cauruļvadus, vilcienu modeļus un vadīt prognozes, nerakstot kodu. Weka darbojas tieši ar R, Apache Spark un Python, pēdējais izmantojot tiešo iesaiņotāju vai izmantojot saskarnes parastajām skaitliskajām bibliotēkām, piemēram, NumPy, Pandas, SciPy un Scikit-learn. Weka lielā priekšrocība ir tā, ka tā nodrošina pārlūkojamas, draudzīgas saskarnes visiem jūsu darba aspektiem, ieskaitot pakotņu pārvaldību, pirmapstrādi, klasifikāciju un vizualizāciju.

$config[zx-auto] not found$config[zx-overlay] not found