This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-05-11
Channels
- # aws (6)
- # beginners (105)
- # boot (6)
- # cider (50)
- # cljsrn (10)
- # clojure (41)
- # clojure-brasil (6)
- # clojure-italy (25)
- # clojure-nl (17)
- # clojure-russia (4)
- # clojure-serbia (1)
- # clojure-spec (8)
- # clojure-uk (242)
- # clojurescript (27)
- # core-async (10)
- # cursive (5)
- # data-science (9)
- # datomic (43)
- # emacs (6)
- # fulcro (6)
- # graphql (1)
- # javascript (3)
- # juxt (4)
- # lein-figwheel (1)
- # mount (1)
- # onyx (19)
- # parinfer (2)
- # portkey (15)
- # protorepl (1)
- # re-frame (30)
- # reagent (3)
- # ring-swagger (1)
- # shadow-cljs (22)
- # sql (6)
- # tools-deps (23)
- # vim (13)
Io non sono un data scienziato @justalanm, ma quando ho fatto esperimenti (tipo recommendation engine o fraud detection) ho usato clj. Mi chiedo pero' cosa voglia dire fare data science con un lnguaggio... alla fine sembra piu' un lavoro di data integration dove il linguaggio e' piu' glue code che altro. O no?
La data scienza è un processo con 4 macro fasi principali: - ETL - Feature engineering - Modellazione - Deploy In ambito business molto raramente queste operazioni vengono eseguite da una sola persona (a mio avviso la data scienza è una funzione, non un ruolo)
Mettiamo che siamo in 4, ognuno fa una macro task, però parliamo tutti lingue diverse. Quello a cui toccherà lo step finale di deploy rischia il suicidio...
Clojure mi piace molto perché è fortissimo e bello da usare per la prima e l'ultima fase, in parte anche per la seconda
Però per la fase di modellazione che si può suddividere in: - sperimentazione - valutazione - finalizzazione Clojure non è molto forte nelle ultime due
Ovviamente quando dico Clojure non intendo il linguaggio nudo, ma anche e soprattutto tutta una serie di tool e librerie (ad esempio in Python c'è scikit-learn)
mi sembra un ottimo riassunto @justalanm dovresti sottomettere un talk 😁
@justalanm cosa manca secondo te per la fase di modellazione?
A parte tutta una serie di modelli (XGBoost, Catboost, e altri) mancano una serie di strumenti che non sono necessari, ma che sono molto utili: http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics
Il concetto è che vedendo molti che fanno questo mestiere, la maggior parte usa Python perché hanno imparato solo quel linguaggio, e lo hanno imparato perché esiste tutta queste serie di tool che gli facilita il lavoro in maniera esponenziale
Quindi dici che è "solo" una questione di librerie, non di linguaggio, giusto?
Per me assolutamente sì, come diceva @reborg alla fine stiamo facendo un po' di ETL condita da un bel po' di matematica, quindi si può anche essere abbastanza agnostici riguardo il linguaggio
Tralasciando il fatto che se devo far imparare Clojure a qualcuno che già ha difficoltà ad uscire dalla propria comfort zone, e poi quando mi chiede "E come faccio la matrice di confusione?" e io gli rispondo "Eh, ti devi fare una funzione tu che faccia così e cosà..." mi mandano rapidamente a quel paese...
Lazy programming nel vero senso del termine 😅 Comunque posso capire
non so se ci siano librerie sviluppate sopra Neanderthal: https://neanderthal.uncomplicate.org/
Conosco Neanderthal, sono arrivato al punto di valutare l'opzione di iniziare a lavorarci io su una cosa simile
Cmq concordo, manca un framework per questo tipo di task
E a mio avviso è un peccato data la naturalezza di Clojure nel manipolare strutture dati anche grandi e complesse