Je suis programmeur, comment entrer dans le domaine de la science des données?

13

Tout d'abord, ce terme semble si obscur.

Quoi qu'il en soit .. Je suis programmeur logiciel. L'un des langages que je peux coder est Python. En parlant de données, je peux utiliser SQL et faire du Data Scraping. Ce que j'ai découvert jusqu'à présent après avoir lu tellement d'articles que la science des données est bonne à:

1- Statistiques

2- Algèbre

3- Analyse des données

4- Visualisation.

5- Apprentissage automatique.

Ce que je sais jusqu'à présent:

1- Programmation Python 2- Scrapping des données en Python

Pouvez-vous des experts me guider ou suggérer une feuille de route pour parfaire la théorie et la pratique? Je me suis donné environ 8 mois de délai.

Volatil3
la source
Veuillez être précis sur ce que vous voulez "entrer". Non seulement sur le terrain, mais aussi à quel niveau. Par exemple - "mineur de texte médical professionnel" ou "examinateur amateur d'univers astrophysique"
Pete
Je suis prêt à devenir quelque chose qui pourrait fonctionner en tant que consultant ou employé pouvant être contacté pour que les entreprises puissent creuser leurs données et en avoir un aperçu.
Volatil3
(1) Cours Ng d'Andrew sur l'apprentissage automatique; (2) cours Yaser Abu-Mostafa sur l'apprentissage à partir des données; Les deux sont accessibles (le temps n'est pas inclus) et vous permettront de bien comprendre.
Vladislavs Dovgalecs
Consultez ma question la plus récente
Martin
Le terme Data Science est très large. Peut-être pourriez-vous réfléchir au type d'emplois que vous souhaitez et à l'entreprise avec laquelle vous souhaitez travailler, voir leurs exigences et leurs responsabilités. Vous saurez alors si l'emploi répond à vos attentes et à l'écart de vos capacités. Voici les exigences du data scientist dans GOOGLE. ! [Exigences Data Scientist de Google ] ( i.stack.imgur.com/5KSN6.png )
Octoparse

Réponses:

18

Concentrez-vous moins sur l'acquisition de compétences et plus sur l'acquisition d'expérience. Essayez de résoudre certains problèmes et publiez votre travail sur github. Vous en apprendrez davantage au cours du processus et pourrez démontrer aux employeurs leurs connaissances et leur expérience, ce qui est beaucoup plus précieux que d'avoir une compréhension supposée approfondie d'un sujet ou d'une théorie.

La science des données est un domaine assez chargé ces jours-ci, donc je ne sais pas quel type de travail vous voulez spécifiquement faire, mais en supposant que l'apprentissage automatique en soit un composant, kaggle.com est un bon point de départ. En termes d'objectifs, si vous êtes capable de travailler avec les données dans pandas / numpy / scipy, créez des modèles dans sci-kit apprenez et faites de jolis graphiques dans seaborn, ggplot ou même matplotlib alors vous n'aurez aucun problème à obtenir un travail du point de vue des compétences - surtout si vous avez des exemples de code et des exemples pour démontrer vos capacités. Si vous êtes bloqué, stackexchange aura la réponse ou vous pourrez poster des questions et vous aurez une réponse sous peu. Une fois que vous faites le travail pour gagner votre vie, vous en apprendrez encore plus, probablement d'un membre de l'équipe senior qui vous encadre.

Bonne chance.

David
la source
7

J'aime le cours de Berkeley sur la science des données, donnera une bonne base et un bon goût pour la science des données, après avoir migré vers udacity et coursera et bien d'autres ressources. Donc, si vous avez des compétences en programmation, vous aurez besoin de mathématiques et de statistiques et de beaucoup de visualisation. Il sera également bon de s'habituer à IPython, car il est essentiel de voir à chaque étape (visualiser) comment il fonctionne à la place d'écrire un script entier et de le tester après (anaconda est facile à installer et à travailler). Le cours est répertorié ci-dessous: bcourses.berkeley.edu/courses/1267848/wiki également la stat je trouve un bon cours gratuit de SAS: Statistiques 1: Introduction à l'ANOVA, la régression et la régression logistique support.sas.com/edu/schedules.html ? ctry = us & id = 1979

Commencer avec ML recommandera: www.kaggle.com/c/titanic/details/getting-started-with-python

sur le côté gauche est également pour Excel en utilisant des tableaux croisés dynamiques et R. DataCamp a publié le tutoriel sur la façon d'utiliser R. Une fois que vous avez terminé ces étapes, plus de compétitions pour acquérir de l'expérience sont sur kaggle (récemment publié pour San Francisco Crime Classification) et finalement tutoriels vidéo incroyables de www.dataschool.io

J'espère que cela aide ...

n1tk
la source
Merci pour votre réponse. Comment as tu appris?
Volatil3
1
Livres, tutoriels en ligne et beaucoup de code pratique pour jouer avec les données. Essayez le kaggle.com et essayez à travers des compétitions. Est super pour commencer à apprendre le ML.
n1tk
et finalement essayer de trouver une communauté de scientifiques des données et participer aux projets, vous gagnerez tellement d'expérience partagée dans les projets qu'aucun livre ne peut enseigner.
n1tk
Mais je ne suis pas bon en théorie comme les statistiques, les mathématiques, etc. Je les ai étudiées en jours Uni
Volatil3
Dans mon cas particulier, j'ai envisagé de retourner à l'école et de passer à un programme de doctorat en analyse et science des données ... nécessitant le calcul 1,2, l'algèbre linéaire, l'algèbre linéaire numérique, SAS, R, les mathématiques pour les mégadonnées, théorie des graphes et bien plus encore ...
n1tk
5

En désaccord avec David, un véritable data scientist est un statisticien appliqué qui code et sait utiliser les algorithmes d'apprentissage automatique pour les bonnes raisons. La statistique est la base de toute science des données. C'est le "gâteau" en soi. Tout le reste n'est que de la cerise.

La question est quel type de data scientist voulez-vous être? Voulez-vous être un maître du sujet (savoir comment, pourquoi, quand et quand ne pas appliquer un algorithme ou une technique) ou un Kaggle Script Kiddie utilisant Scipy et pensant qu'il est un Data Scientist?

1 - Statistiques

2- Tout le reste

Modèle de Markov caché
la source
2
Je ne suis pas sûr de comprendre ce que vous dites. Je n'ai jamais dit que la connaissance des "statistiques appliquées" n'était pas importante - j'ai simplement fait la distinction selon laquelle acquérir de l'expérience en appliquant des méthodes est plus important que d'acquérir des connaissances théoriques sur les méthodes elles-mêmes.
David
1
David, c'était exactement mon point de désaccord. Sans avoir une connaissance théorique des méthodes elles-mêmes, nous ne sommes que des script kiddies. L'expérience est importante, mais c'est un sous-produit des connaissances théoriques, et non l'inverse.
Hidden Markov Model
2
Non, ça ne l'est pas. Il y a une grande différence entre l'expérience appliquée et les connaissances théoriques, c'est souvent la différence entre ce qui est acquis dans l'industrie vs en classe. Par exemple, il est plus utile de savoir comment vérifier efficacement qu'un modèle ne s'est pas surajusté en utilisant une méthode appliquée comme la validation croisée que de connaître les fondements théoriques de la régularisation. Aussi, s'il vous plaît, arrêtez de mentionner les "enfants de script" - personne ne préconise d'utiliser la nouvelle et horrible fonctionnalité de soumission en un clic de kaggle.
David
1
Si ce que vous dites est vrai, alors pourquoi les entreprises préfèrent-elles les docteurs et les titulaires d'une maîtrise plutôt que les titulaires d'une licence? C'est parce qu'ils ont une connaissance théorique des techniques qui animent les algorithmes. Ce sont les constructeurs de moteurs en soi. La connaissance théorique est une connaissance plus profonde. Kaggle est un réservoir pour les enfants scriptés.
Hidden Markov Model
1
Bien que je puisse voir des points que vous essayez tous les deux de faire valoir, je pense que c'est peut-être hors contexte. La question initiale était «comment un programmeur peut-il passer à un emploi en science des données? Si la réponse est `` tout laisser tomber, passer quelques années à obtenir un doctorat en statistiques, puis faire quelques projets par vous-même et commencer à postuler '', c'est un obstacle assez lourd et vous pouvez aussi leur dire de ne pas s'embêter dans une pratique sens. À l'inverse, compte tenu du nombre de Stats PHD (ou même de Masters) et du nombre de personnes à la recherche, les employeurs peuvent envisager des personnes qui peuvent démontrer une expérience sans diplôme.
chrisfs
4

Si vous voulez être un homme pratique avec de vraies connaissances, commencez par les mathématiques (calcul, probabilité + statistique, algèbre linéaire). À chaque étape, essayez de tout implémenter avec la programmation, python est bien pour cela. Lorsque vous obtenez un bon terrain, jouez avec des données réelles et résolvez les problèmes

Cours. Algèbre linéaire - edx Laff ou codage de la matrice Stat - edx stat 2x Barkley Calculus - lire ... c'est simple

Amanuel Negash
la source
2

David a un bon point, je vous suggère de vous concentrer sur tout ce qui motive davantage votre intérêt. C'est le seul moyen de réussir tous les types d'efforts. Si vous voulez construire quelque chose de cool, commencez avec. Si vous voulez lire un livre, c'est bien aussi. Le point de départ n'a pas d'importance. Quelques jours à l'avance, vous comprendrez mieux ce que vous voulez et devez faire ensuite.

Piriko
la source
1

La science des données est si vaste, il existe de nombreuses voies différentes pour y accéder. Il est généralement divisé en 4 ou 5 types différents, par exemple:

entrez la description de l'image ici

Vous pouvez voir dans les autres articles de cette rubrique des personnes issues d'un arrière-plan des statistiques appliquées (appliquant le bon algorithme), des antécédents de programmation (participant à Kaggle) et d'autres l'appliquant à un arrière-plan commercial

Les entreprises avisées pourraient qualifier une personne faussée de programmation d '«ingénieur des données». Les grandes entreprises utilisent également chaque type pour leur équipe de science des données, donc démontrer de bonnes compétences en forme de T serait une bonne chose.

user46958
la source
0

Si vous êtes un programmeur, vous pouvez commencer par un classificateur d'arbre de décision, se concentrer sur la compréhension des mathématiques derrière Entropy et Information-Gain. Il est essentiel de comprendre que ML est tout simplement une question de compression de données.

Je ne suis pas du tout d'accord avec certaines des autres réponses sur la valeur des cours pratiques. Le plus précieux pour ML est le math: théorie des nombres, algèbre linéaire et théorie des probabilités.

Si vous ne vous concentrez pas sur les mathématiques, la seule chose que vous apprendrez, c'est comment utiliser une bibliothèque pour faire de la magie, ce n'est pas du machine learning et pas du tout de la science.

Eugen
la source