Sono un programmatore, come posso entrare nel campo della scienza dei dati?


13

Innanzitutto questo termine sembra così oscuro.

Comunque ... sono un programmatore di software. Una delle lingue che posso codificare è Python. A proposito di dati, posso usare SQL e posso eseguire lo scraping dei dati. Quello che ho capito finora dopo aver letto così tanti articoli che Data Science è tutto bravo a:

1- Statistiche

2- Algebra

3- Analisi dei dati

4- Visualizzazione.

5- Apprendimento automatico.

Quello che so finora:

1- Programmazione Python 2- Scrap dei dati in Python

Potete esperti guidarmi o suggerire una tabella di marcia per ripulire la teoria e la pratica? Mi sono concessa circa 8 mesi di tempo.


Si prega di essere specifici su ciò che si desidera "entrare". Non solo il campo, ma anche a quale livello. Ad esempio: "minatore di testo medico professionale" o "esaminatore universo astrofisico dilettante"
Pete,

Sono disposto a diventare qualcosa che potrebbe funzionare come un consulente o un dipendente che potrebbe essere contattato per le aziende per scavare nei loro dati e ottenere approfondimenti.
Volatil3,

(1) corso Andrew's Ng sull'apprendimento automatico; (2) corso Yaser Abu-Mostafa sull'apprendimento dai dati; Entrambi sono accessibili (il tempo non è incluso) e ti garantiranno un buon livello di comprensione.
Vladislavs Dovgalecs,

Dai un'occhiata alla mia domanda più recente
Martin, il

Il termine scienza dei dati è molto ampio. Forse potresti pensare a che tipo di lavoro ti piacerebbe e in quale azienda vuoi lavorare, vedere i loro requisiti e responsabilità. Quindi sapresti se il lavoro soddisfa le tue aspettative e il divario delle tue capacità. Ecco i requisiti del data scientist di GOOGLE. ! [Requisiti dei data scientist di Google ] ( i.stack.imgur.com/5KSN6.png )
Octoparse,

Risposte:


18

Concentrati meno sull'acquisizione di competenze e di più sull'acquisizione di esperienza. Prova a risolvere effettivamente alcuni problemi e pubblica il tuo lavoro su github. Imparerai di più nel processo e sarai in grado di dimostrare conoscenza ed esperienza ai datori di lavoro, il che è molto più prezioso che avere una presunta profonda comprensione di un argomento o di una teoria.

La scienza dei dati è un campo piuttosto carico al giorno d'oggi, quindi non sono sicuro di quale tipo di lavoro tu voglia fare, ma supponendo che l'apprendimento automatico ne sia un componente, quindi kaggle.com è un buon punto di partenza. In termini di obiettivi, se sei in grado di lavorare con i dati in panda / numpy / scipy, costruisci modelli in sci-kit impara e crea dei bei grafici in seaborn, ggplot o persino matplotlib, non avrai problemi a ottenere un lavoro dal punto di vista delle competenze, specialmente se hai esempi di codice ed esempi per dimostrare le tue abilità. Se rimani bloccato, stackexchange avrà la risposta oppure puoi pubblicare una domanda e avrai una risposta a breve. Una volta che fai il lavoro per vivere, imparerai ancora di più, probabilmente da un membro del team senior che ti guida.

Buona fortuna.


7

Mi piace il corso Berkeley su Data Science, fornirà una buona base e buon gusto per Data Science, dopo essermi trasferito in udacity e corso e molte altre risorse. Quindi, se hai abilità di programmazione di quelle che richiedono matematica e statistiche e molta visualizzazione. Inoltre sarà fantastico abituarsi a IPython perché è essenziale vedere ogni passaggio (visualizzare) come funziona invece di scrivere un intero script e testarlo dopo (anaconda è facile da installare e lavorare). Il corso è elencato qui sotto: bcourses.berkeley.edu/courses/1267848/wiki anche la statistica che trovo un buon corso gratuito da SAS: Statistics 1: Introduzione a ANOVA, Regressione e Regressione logistica support.sas.com/edu/schedules.html ? CTRY = us & id = 1979

A partire da ML consigliamo: www.kaggle.com/c/titanic/details/getting-started-with-python

sul lato sinistro è anche per Excel che utilizza le tabelle Pivot e R. DataCamp ha rilasciato il tutorial su come usare R. Una volta completati questi passaggi, più competizioni per acquisire esperienza sono in corso (una recentemente rilasciata per la Classificazione del crimine di San Francisco) e alla fine fantastici tutorial video da www.dataschool.io

spero che sia d'aiuto ...


Grazie per la tua risposta. Come hai imparato?
Volatil3,

1
Libri, tutorial online e molte mani sul codice relativo al gioco con i dati. Prova kaggle.com e prova attraverso le competizioni. È ottimo per iniziare a imparare la ML.
nk

e alla fine prova a trovare una comunità di data scientist e a partecipare ai progetti, otterrai così tanta esperienza condivisa nei progetti che nessun libro può insegnare.
nk

Ma non sono bravo in teoria come statistiche, matematica, ecc. Li ho studiati nei giorni Uni
Volatil3

Nel mio caso particolare ho preso in considerazione l'idea di tornare a scuola e passare al programma di dottorato in Analisi e scienza dei dati ... che richiede calcolo 1,2, algebra lineare, algebra lineare numerica, SAS, R, matematica per big data, teoria dei grafi e molto altro ...
n1tk,

4

Non sono d'accordo con David, un vero scienziato di dati è uno statistico applicato che codifica e sa come utilizzare gli algoritmi di apprendimento automatico per le giuste ragioni. La statistica è la base di tutta la scienza dei dati. È la "torta" di per sé. Tutto il resto è solo glassa.

La domanda è: che tipo di data scientist vuoi essere? Vuoi essere un maestro della materia (conoscenza di come, perché, quando e quando non applicare un algoritmo o una tecnica) o un Kaggle Script Kiddie usando Scipy e pensando di essere un Data Scientist?

1 - Statistiche

2- Tutto il resto


2
Non sono sicuro di aver capito cosa stai dicendo. Non ho mai detto che conoscere le "statistiche applicate" non è importante - ho semplicemente fatto la distinzione che acquisire esperienza nell'applicare i metodi è più importante che acquisire conoscenze teoriche sui metodi stessi.
David,

1
David, quello era esattamente il mio punto di disaccordo. Senza avere una conoscenza teorica dei metodi stessi, siamo semplicemente degli script kiddie. L'esperienza è importante, ma è un sottoprodotto della conoscenza teorica, non viceversa.
Modello Markov nascosto

2
No, non lo è. Esiste una grande differenza tra esperienza applicata e conoscenza teorica, spesso è la differenza tra ciò che si guadagna nell'industria rispetto all'aula. Ad esempio, è più utile sapere come verificare in modo efficace che un modello non si sia sovrautilizzato utilizzando un metodo applicato come la convalida incrociata piuttosto che conoscere le basi teoriche della regolarizzazione. Inoltre, ti preghiamo di smettere di menzionare "bambini script": nessuno sta sostenendo l'uso della nuova e orribile funzionalità di Kaggle con un clic per inviare.
David,

1
Se quello che stai dicendo è vero, perché le aziende preferiscono i dottorati e le persone con un master rispetto alle persone con una laurea? È perché hanno una conoscenza teorica delle tecniche che guidano gli algoritmi. Sono i costruttori di motori in sé. La conoscenza teorica è una conoscenza più profonda. Kaggle è un serbatoio per i kiddie degli script.
Modello Markov nascosto

1
Mentre vedo i punti che entrambi state cercando di fare, penso che sia forse fuori contesto. La domanda originale era "come può un programmatore passare a un lavoro nella scienza dei dati?" Se la risposta è "rilasciare tutto, passare alcuni anni a ottenere un dottorato di ricerca in statistica, quindi fare alcuni progetti da solo e quindi iniziare ad applicare", questo è un ostacolo piuttosto oneroso e potresti anche dire loro di non disturbarsi in modo pratico senso. Al contrario, dato il numero di statistiche PHD (o persino i master) e il numero di persone in cerca, i datori di lavoro possono considerare le persone che possono dimostrare esperienza senza una laurea.
chrisfs,

4

Se vuoi essere un uomo pratico con una vera conoscenza, inizia con la matematica (calcolo, probabilità + stat, algebra lineare). Ad ogni passo prova a implementare tutto con la programmazione, python è perfetto per questo. Quando ottieni buoni risultati, gioca con dati reali e risolvi i problemi

Corsi. Algebra lineare - edx Laff o codifica della matrice Stat - edx stat 2x Barkley Calculus - leggi ... è semplice


2

David ha un buon punto, ti suggerirei di concentrarti su qualunque cosa susciti maggiormente il tuo interesse. È l'unico modo per avere successo in ogni tipo di sforzo. Se vuoi costruire qualcosa di interessante, inizia con esso. Se vuoi leggere un libro va bene lo stesso. Il punto di partenza non ha importanza. Pochi giorni prima avrai una migliore comprensione di ciò che vuoi e dovresti fare dopo.


1

La scienza dei dati è così ampia, ci sono molti percorsi diversi per entrarci. Di solito è diviso in 4 o 5 tipi diversi per esempio:

inserisci qui la descrizione dell'immagine

È possibile vedere dagli altri post in questo argomento persone provenienti da un background di Statistica Applicata (applicando l'algoritmo giusto), Background di programmazione (che partecipano a Kaggle) e altri che lo applicano a un background aziendale

Le aziende più esperte potrebbero riferirsi a una persona inclinata alla programmazione come un "Ingegnere di dati". Le grandi aziende usano anche ogni tipo per il loro team di data science, quindi dimostrare buone capacità a forma di T sarebbe una buona cosa.


0

Se sei un programmatore, potresti iniziare con un classificatore Albero decisionale, concentrarti sulla comprensione della matematica dietro Entropy e Information-Gain. È essenziale capire che ML riguarda solo la compressione dei dati.

Non sarei molto d'accordo con alcune delle altre risposte sul valore dei corsi pratici. Il più prezioso per ML è la matematica: teoria dei numeri, algebra lineare e teoria della probabilità.

Se non ti concentri sulla matematica, l'unica cosa che imparerai è, come usare qualche libreria per fare magie, che non è l'apprendimento automatico e non la scienza.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.