Andmete analüüs Scala abil
Väga oluline on valida õige tööriist andmete analüüsiks. Kaggle'i foorumitel, kus korraldatakse rahvusvahelisi andmeteaduse võistlusi, küsitakse sageli, milline tööriist on parem. R ja Python on loendi tipus. Selles artiklis räägime teile Scalal põhinevast alternatiivsest andmeanalüüsi tehnoloogiate virnast.
By Roman Zykov, asutaja/andmeteadlane @ TopDataLab
Väga oluline on valida õige tööriist andmete analüüsiks. peal Kaggle.com foorumitel, kus korraldatakse rahvusvahelisi andmeteaduse võistlusi, küsitakse sageli, milline tööriist on parem. R ja Python on loendi tipus. Selles artiklis räägime teile alternatiivsest andmeanalüüsi tehnoloogiate virnast, mis põhineb Scala programmeerimiskeelel ja Säde hajutatud arvutusplatvorm.
Kuidas me selle peale tulime? Retail Rocketis teeme palju masinõpet väga suurte andmekogumitega. Kasutasime prototüüpide arendamiseks hunnikut IPython + Pyhs2 (Pythoni taru draiver) + Pandas + Sklearn. 2014. aasta suve lõpus tegime põhimõttelise otsuse minna üle Sparkile, kuna katsed on näidanud, et saame 3-4 korda parema jõudluse sama serveripargi pealt.
Another advantage is that we can use one programming language for modeling and code that will run on production servers. This was a huge benefit for us, since before we were using 4 languages simultaneously: Hive, Pig, Java, Python. It’s a problem for a small team of engineers.
Spark toetab hästi Python/Scala/Javaga töötamist API-de kaudu. Otsustasime valida Scala, kuna see on keel, milles Spark on kirjutatud, mis tähendab, et saame selle lähtekoodi analüüsida ja vajadusel vigu parandada. See on ka JVM, millel Hadoop töötab.
Pean ütlema, et valik ei olnud lihtne, sest Scalat ei teadnud sel ajal keegi meeskonnast.
On üldteada tõsiasi, et keeles hästi suhtlemise õppimiseks tuleb sellesse keelde süveneda ja seda võimalikult palju kasutada. Seega loobusime Pythoni pinust modelleerimise ja kiire andmeanalüüsi jaoks Scala kasuks.
Esimene samm oli leida IPythoni sülearvutitele asendus. Valikud olid järgmised:
- Zeppelin – an IPython-like notebook for Spark;
- ISpark;
- Spark märkmik;
- IBM’s Spark IPython Notebook.
- Apache Toree
So far the choice has been ISpark because it’s simple – it’s IPython for Scala/Spark. It’s been relatively easy to bolt on HighCharts and R graphics. And we had no problem connecting it to the Yarn cluster.
Ülesanne
Let’s try to answer the question: does average purchase amount (AOV) in your online store depend on static customer parameters, which include settlement, browser type (mobile/Desktop), operating system and browser version? You can do this with Vastastikune teave.
We use entropy a lot for our recommendation algorithms and analysis: the classical Shannon formula, the Kullback-Leibler divergence, Mutual Information. We even submitted a paper on this topic. There is a separate, albeit small, section devoted to these measures in Murphy’s famous textbook on machine learning.
Let’s analyze it on real Retail Rocket data. Beforehand I copied the sample from our cluster to my computer as a csv file.
kuupäev
Here we use ISpark and Spark running in local mode, which means that all calculations are performed locally and are distributed among the processor cores. Everything is described in comments to the code. The most important thing is that in output we get RDD (Spark data structure), which is a collection of case classes of type Row, which is defined in the code. This will allow you to refer to fields via “.”, for example _.categoryId.
Allikas: https://www.kdnuggets.com/2021/09/data-analysis-scala.html
- "
- &
- 100
- ADEelis
- algoritme
- Materjal: BPA ja flataatide vaba plastik
- Amazon
- vahel
- analüüs
- Apache
- API-liidesed
- apps
- artikkel
- Bolt
- brauseri
- vead
- ehitama
- Kobar
- muutma
- Äritegevus
- kood
- kommentaarid
- Võistlused
- arvutustehnika
- andmed
- andmete analüüs
- andmeteadus
- andmeteadlane
- tegelema
- sügav õpe
- arendama
- DID
- hajutatud arvutus
- juht
- Inseneriteadus
- Inseneride
- jms
- Excel
- kogemus
- eksperiment
- uurimine
- nägu
- pere
- KIIRE
- FUNKTSIOONID
- Valdkonnad
- esimene
- Määrama
- Asutaja
- Raamistik
- GitHub
- hadoop
- siin
- Mesilaspere
- Kuidas
- Kuidas
- HTTPS
- tohutu
- info
- interaktiivne
- rahvusvaheliselt
- IT
- Java
- keel
- Keeled
- suur
- Õppida
- õppimine
- Raamatukogu
- joon
- nimekiri
- kohalik
- kohapeal
- Pikk
- masinõpe
- masinad
- matemaatika
- Meetrika
- Microsoft
- modelleerimine
- Populaarseim
- märkmikud
- Internetis
- poe
- avatud
- avatud lähtekoodiga
- tegutsevad
- operatsioonisüsteemi
- Valikud
- et
- teised
- Paber
- Inimesed
- jõudlus
- perspektiiv
- Füüsika
- inimesele
- populaarne
- portfell
- Produktsioon
- Programming
- projekt
- ostma
- Python
- jaemüük
- jooks
- jooksmine
- Scala
- teadus
- teadlased
- komplekt
- arveldamine
- lihtne
- SUURUS
- oskused
- väike
- So
- tarkvara
- Ruum
- salvestada
- Lood
- esitatud
- suvi
- Toetatud
- Toetab
- Lüliti
- süsteem
- Tehnoloogiad
- Testimine
- Graafik
- aeg
- ülemine
- ühtsus
- URI
- us
- väärtus
- web
- Wikipedia
- aknad
- Töö
- X
- aastat
- null