Note Date Scientist: da dove cominciare ed è necessario?

Note Date Scientist: da dove cominciare ed è necessario?

TL;DR è un post per domande/risposte sulla Data Science e su come accedere alla professione e svilupparsi in essa. Nell'articolo analizzerò i principi base e le FAQ e sono pronto a rispondere alle tue domande specifiche: scrivi nei commenti (o in un messaggio privato), cercherò di rispondere a tutto entro pochi giorni.

Con l'avvento della serie di appunti “Satanist Date” sono arrivati ​​molti messaggi e commenti con domande su come iniziare e dove scavare, e oggi analizzeremo le principali competenze e domande emerse dopo le pubblicazioni.

Tutto quanto qui affermato non pretende di essere la verità ultima ed è l'opinione soggettiva dell'autore. Esamineremo le cose principali che sembrano più importanti nel processo.

Perché è esattamente necessario?

Affinché l'obiettivo sia meglio raggiungibile, in modo che sembri almeno un po' specifico - vuoi diventare un DS o un ricercatore presso Facebook/Apple/Amazon/Netflix/Google - guarda i requisiti, le lingue e le competenze necessarie specificatamente per quale posizione. Qual è il processo di assunzione? Come si svolge la giornata tipo in un ruolo del genere? Come si presenta il profilo medio di una persona che lavora lì?

Spesso il quadro generale è che una persona non capisce veramente cosa vuole esattamente e non è del tutto chiaro come prepararsi per questa immagine poco chiara, quindi vale la pena avere almeno un piano approssimativo di cosa vuoi esattamente.

Concretizzare la visione attuale dell'obiettivo

Anche se cambia lungo il percorso, ed è generalmente normale cambiare piano nel corso del gioco, vale la pena avere un obiettivo e concentrarsi su di esso, valutandolo e ripensandolo periodicamente.

Lo sarà o è ancora rilevante?

Quando raggiungi una posizione.

Immagina che prima della tua posizione devi ottenere un dottorato di ricerca, lavorare per 2-3 anni nel settore e generalmente tagliarti i capelli mentre mediti in un monastero: la situazione con Data Science non sarà la stessa di una volta con economisti e avvocati? Cambierà tutto in modo irriconoscibile nell’area che desideri perseguire?

Non ci sono buone probabilità che tutti si precipitino lì adesso e vedremo un'immagine in cui c'è un ampio strato di persone che stanno cercando di entrare nella professione - e la posizione di partenza sarà semplicemente magra.

Quando si sceglie un percorso, potrebbe valere la pena considerare le tendenze attuali, non solo lo stato attuale del mercato del lavoro, ma anche la propria idea di come sta cambiando e dove si trova.

Ad esempio, l'autore non aveva intenzione di diventare un satanista, ma durante il dottorato ha lavorato su progetti di terze parti che avevano forti competenze in comune con DS, e alla fine della scuola di specializzazione è passato naturalmente all'ambiente, vedendo un buon posizione.

Se nel corso del gioco si scopre che sarà necessario spostarsi da qualche altra parte, perché ora c'è più movimento e si stanno svolgendo tutte le azioni più interessanti, allora ci sposteremo lì in modo naturale.

Ripartizione delle abilità

Queste sono categorie condizionali di competenze che mi sembrano fondamentali per un lavoro completo ed efficace in DS. Evidenzierò l'inglese separatamente: impara qualunque cosa tu faccia in CS. Poi ci sono le categorie chiave.

Programmazione/scripting

Quali lingue sei sicuro di conoscere? Pitone? Giava? Script di shell? Lua? SQL? C++?

Cosa devi essere in grado di fare esattamente e perché in termini di programmazione: la gamma di posizioni qui varia notevolmente.

Ad esempio, spesso devo implementare logiche complesse, query, modelli, analisi e in generale sviluppare sistemi interpretati, ma non ci sono quasi mai requisiti per la velocità del codice, tranne quelli più generali e ragionevoli.

Pertanto, le mie competenze sono molto diverse da quelle di chi scrive la libreria Tensorflow e pensa a ottimizzare il codice per un uso efficiente della cache l1 e cose simili, quindi guarda di cosa hai esattamente bisogno e valuta il giusto percorso verso l'apprendimento.

Ad esempio, per Python, le persone già fanno pace mappa apprendimento della lingua.

Sicuramente ci sono già consigli esperti e buone fonti per le tue esigenze: devi decidere un elenco e iniziare a lavorarci.

Comprendere i processi aziendali

Non puoi andare da nessuna parte senza di essa: devi capire perché sei necessario in questo processo, cosa stai facendo e perché. Questo è spesso ciò che può farti risparmiare un sacco di tempo, massimizzare i tuoi vantaggi ed evitare di sprecare tempo e risorse in sciocchezze.

Solitamente mi pongo le seguenti domande:

  • Cosa faccio esattamente in azienda?
  • Perché?
  • Chi lo utilizzerà e come?
  • Quali opzioni ho?
  • Quali sono i limiti dei parametri?

Ecco qualche dettaglio in più sui parametri: spesso puoi cambiare molto lo scenario di lavoro se sai che qualcosa può essere sacrificato: ad esempio, l'interpretabilità o viceversa, un paio di per cento qui non avrà alcun ruolo e abbiamo un ritmo molto veloce soluzione e il cliente ne ha bisogno, perché paga per il tempo in cui la pipeline è in esecuzione in AWS.

Matematica

Qui pensi e capisci tutto da solo - senza la conoscenza della matematica di base non sei altro che scimmie con una granata (scusate Random Forest) - quindi devi capire almeno le cose di base. Se dovessi compilare un elenco molto minimale, includerebbe:

  • Algebra lineare: un numero enorme di risorse è facile da trovare su Google, cerca quella più adatta a te;
  • Analisi matematica - (almeno nei primi due semestri);
  • La teoria della probabilità è ovunque nell’apprendimento automatico;
  • Combinatoria: in realtà è complementare alla teoria;
  • Teoria dei grafi - almeno BASE;
  • Algoritmi – almeno per i primi due semestri (vedi le raccomandazioni di Cormen nel suo libro);
  • Matematica - almeno di base.

Analisi pratica e visualizzazione dei dati

Una delle cose più importanti è non aver paura di sporcarsi le mani con i dati e condurre un'analisi completa del set di dati, del progetto e creare una rapida visualizzazione dei dati.

L'analisi esplorativa dei dati dovrebbe semplicemente diventare qualcosa di naturale, come tutte le altre trasformazioni di dati e la capacità di creare una semplice pipeline da nodi Unix (vedi articoli precedenti) o scrivere un taccuino leggibile e comprensibile.

Vorrei menzionare la visualizzazione: è meglio vedere una volta che sentire cento volte.

Mostrare un grafico a un manager è cento volte più semplice e chiaro di un insieme di numeri, quindi matplotlib, seaborn e ggplot2 sono tuoi amici.

Competenze trasversali

È altrettanto importante essere in grado di comunicare le proprie idee, nonché i risultati e le preoccupazioni (ecc.) agli altri: assicurarsi di poter definire chiaramente il compito sia in termini tecnici che commerciali.

Puoi spiegare a colleghi, manager, superiori, clienti e chiunque altro ne abbia bisogno cosa sta succedendo, quali dati stai utilizzando e quali risultati hai ottenuto.

I tuoi grafici e la tua documentazione dovrebbero essere letti senza di te. Cioè, non hai bisogno di andare da te per capire cosa c'è scritto lì.

Puoi fare una presentazione chiara per far capire il punto e/o documentare il progetto/il tuo lavoro.

Puoi esprimere la tua posizione in modo ragionato e impassibile, dire "sì/no" o mettere in discussione/sostenere una decisione.

formazione

Ci sono molti posti diversi dove puoi imparare tutto questo. Farò un breve elenco: ho provato di tutto e, a dire il vero, ogni articolo ha i suoi pro e i suoi contro. Provalo e decidi cosa fa per te, ma ti consiglio vivamente di provare diverse opzioni e di non rimanere bloccato su una sola.

  • Corsi online: coursera, udacity, Edx, ecc;
  • Nuove scuole: online e offline - SkillFactory, ShAD, MADE;
  • Scuole classiche: master universitari e corsi di alta formazione;
  • Progetti: puoi semplicemente selezionare le attività che ti interessano e tagliarle, caricandole su github;
  • Stage: è difficile suggerire qualcosa qui; devi cercare ciò che è disponibile e trovare le opzioni adatte.

È necessario?

In conclusione, probabilmente aggiungerò tre principi personali che cerco di seguire io stesso.

  • Dovrebbe essere interessante;
  • Portare piacere interiore (= almeno non causare sofferenza);
  • "Per essere tuo."

Perché loro? È difficile immaginare di fare qualcosa ogni giorno e non divertirsi o non essere interessato. Immagina di essere un medico e di odiare comunicare con le persone: questo, ovviamente, può in qualche modo funzionare, ma ti sentirai costantemente a disagio con il flusso di pazienti che vogliono chiederti qualcosa. Questo non funziona a lungo termine.

Perché ho menzionato specificamente il piacere interno? Mi sembra che ciò sia necessario per l'ulteriore sviluppo e, in linea di principio, per il processo di apprendimento. Mi diverto davvero quando riesco a completare alcune funzionalità complesse e costruire un modello o calcolare un parametro importante. Mi piace quando il mio codice è esteticamente bello e ben scritto. Pertanto, imparare qualcosa di nuovo è interessante e non richiede direttamente alcuna motivazione significativa.

"Essere tuo" è la stessa sensazione che questo è più o meno ciò che volevi fare. Ho una piccola storia. Fin dall'infanzia mi sono interessato alla musica rock (e al metal - SALMON!) e, come tanti altri, volevo imparare a suonare e basta. Si è scoperto che non avevo né udito né voce - questo non mi ha disturbato affatto (e devo dire che questo non disturba molti artisti sul palco), e quando ero ancora a scuola ho preso una chitarra... e è diventato chiaro che non mi piace stare seduto per ore e giocarci sopra. Stava andando duro, mi sembrava sempre che venisse fuori una specie di stronzata: non ne traevo alcun piacere e mi sentivo semplicemente schifoso, stupido e completamente incapace. Mi sono letteralmente costretto a sedermi per le lezioni e in generale non era un buon cibo per il cavallo.

Allo stesso tempo, potevo tranquillamente sedermi per ore a sviluppare qualche giocattolo, usando uno script per animare qualcosa in flash (o qualcos'altro) ed ero selvaggiamente motivato a completare gli elementi del gioco o ad occuparmi dei meccanismi di movimento e/o collegando librerie di terze parti, plugin e tutto il resto.

E ad un certo punto ho capito che suonare la chitarra non fa per me e che mi piace davvero ascoltare, non suonare. E i miei occhi brillavano quando scrivevo giochi e programmavo (ascoltando ogni sorta di metal in quel momento) ed è quello che mi piaceva allora, ed è quello che avrei dovuto fare.

Hai qualche altra domanda?

Ovviamente non abbiamo potuto esaminare tutti gli argomenti e le domande, quindi scrivi commenti e mandami un messaggio privato: sono sempre felice di avere domande.

Note Date Scientist: da dove cominciare ed è necessario?

Note Date Scientist: da dove cominciare ed è necessario?

Fonte: habr.com

Aggiungi un commento