Table des matières:
Introduction
1. Mathématiques et statistiques
2. Principes de base de la programmation
3. Algorithmes et concepts de l'apprentissage automatique
4. Projets dans le domaine de la science des données
introduction
Je suppose qu'en tant que data scientist en herbe, vous voudrez bien comprendre les concepts et les détails de divers algorithmes d'apprentissage automatique, concepts de science des données, etc.
Par conséquent, je vous recommande de commencer par la base avant même de vous pencher sur les algorithmes d'apprentissage automatique ou les applications d'analyse de données. Si vous n'avez pas une compréhension de base du calcul et des intégrales, de l'algèbre linéaire et des statistiques, vous aurez du mal à comprendre les mécanismes derrière les différents algorithmes. De même, si vous n'avez pas une compréhension de base de Python, il vous sera difficile de traduire vos connaissances en applications réelles. Voici l'ordre des sujets que je recommande d'étudier:
- Mathématiques et statistiques.
- Bases de la programmation.
- Algorithmes et concepts d'apprentissage automatique.
1. Mathématiques et statistiques
Comme pour tout le reste, vous devez apprendre les bases avant de vous lancer dans les choses amusantes. Croyez-moi, ce serait beaucoup plus facile pour moi si je commençais par apprendre les mathématiques et les statistiques avant de commencer avec certains algorithmes d'apprentissage automatique. Trois sujets généraux que je recommande d'examiner sont le calcul / intégrales, les statistiques et l'algèbre linéaire (sans ordre particulier).
Intégrales
Les intégrales sont importantes pour la distribution de probabilités et les tests d'hypothèses. Bien que vous n'ayez pas besoin d'être un expert, il est dans votre intérêt d'apprendre les bases des intégrales. Les deux premiers articles sont destinés à ceux qui veulent se faire une idée de ce que sont les intégrales, ou à ceux qui ont juste besoin de rafraîchir leurs connaissances. Si vous ne savez absolument rien sur les intégrales, je vous recommande de suivre le cours Khan Academy. Enfin, voici des liens vers un certain nombre de tâches pratiques pour perfectionner vos compétences:
- Introduction aux intégrales (article).
- Un cours intensif sur les intégrales (article).
- Khan Academy: Integral Calculus (cours).
- Questions pratiques (commencez par le bloc 6).
Statistiques
S'il y a un sujet sur lequel vous devriez vous concentrer, ce sont les statistiques. Après tout, un data scientist est un statisticien vraiment moderne, et l'apprentissage automatique est un terme moderne pour les statistiques. Si vous avez le temps, je vous recommande de suivre le cours Georgia Tech intitulé Statistical Techniques , qui couvre les bases de la probabilité, des variables aléatoires, de la distribution de probabilité, des tests d'hypothèses, etc. Si vous n’avez pas le temps de vous consacrer à ce cours, je vous recommande vivement de regarder les vidéos de la Khan Academy sur les statistiques .
Algèbre linéaire
L'algèbre linéaire est particulièrement importante si vous souhaitez vous plonger dans l'apprentissage en profondeur, mais même dans ce cas, il est utile de la connaître pour d'autres concepts fondamentaux d'apprentissage automatique tels que l'analyse des composants principaux et les systèmes de recommandation. Pour maîtriser l'algèbre linéaire, je recommande également Khan Academy !
2. Principes de base de la programmation
Tout comme une compréhension fondamentale des mathématiques et des statistiques est importante, une compréhension fondamentale de la programmation vous facilitera la vie, surtout en ce qui concerne la mise en œuvre. Par conséquent, je vous recommande de prendre le temps d'apprendre les langages de base - SQL et Python, avant de vous plonger dans les algorithmes d'apprentissage automatique.
SQL
Peu importe par où commencer, je commencerais par SQL. Pourquoi? Il est plus facile à apprendre et utile de savoir si vous êtes employé dans une entreprise de données, même si vous n'êtes pas un data scientist.
Si vous êtes nouveau dans SQL, je vous recommande de consulter les didacticiels SQL de Mode , car ils sont très concis et détaillés. Si vous souhaitez apprendre des concepts plus avancés, consultez la liste des ressources où vous pouvez apprendre le SQL avancé .
Vous trouverez ci-dessous quelques ressources que vous pouvez utiliser pour pratiquer SQL:
Python
J'ai commencé avec Python et je resterai probablement avec ce langage pour le reste de ma vie. Il est très en avance en termes de contributions Open Source et est facile à apprendre. N'hésitez pas à vous tourner vers R si vous le souhaitez, mais je n'ai pas d'avis ou de conseils sur R. J'ai trouvé qu'apprendre Python par la pratique est beaucoup plus gratifiant. Cependant, après avoir suivi plusieurs cours intensifs de Python, je suis arrivé à la conclusion que ce cours est le plus complet (et gratuit!).
Pandas
La bibliothèque la plus importante à connaître est peut-être Pandas, qui est spécialement conçue pour la manipulation et l'analyse des données. Vous trouverez ci-dessous deux ressources qui devraient accélérer votre courbe d'apprentissage. Le premier lien est un tutoriel sur l'utilisation de Randas, et le deuxième lien contient de nombreuses tâches pratiques que vous pouvez résoudre pour consolider vos connaissances!
3. Algorithmes et concepts de l'apprentissage automatique
Si vous êtes arrivé à cette partie de l'article, cela signifie que vous avez construit votre base et que vous êtes prêt à apprendre des choses intéressantes. Cette partie est divisée en deux autres: les algorithmes d'apprentissage automatique et les concepts d'apprentissage automatique.
Algorithmes d'apprentissage automatique
L'étape suivante consiste à apprendre les différents algorithmes d'apprentissage automatique, comment ils fonctionnent et quand les utiliser. Vous trouverez ci-dessous une liste partielle des divers algorithmes et ressources d'apprentissage automatique que vous pouvez utiliser pour apprendre chacun d'eux.
- Régression linéaire ( Georgia Tech , StatQuest ).
- Régression logistique ( StatQuest ).
- K voisins les plus proches ( MIT ).
- Arbres de décision ( StatQuest ).
- Naive Bayes ( Terence Sheen , Luis Serrano ).
- Support Vector Machines ( Tutoriel SVM par Alice Zhao ).
- Réseaux de neurones ( Terence Sheen ).
- Forêts aléatoires ( StatQuest ).
- AdaBoost ( Terence Sheen , StatQuest ).
- Augmentation du gradient ( StatQuest ).
- XGBoost ( StatQuest ).
- Analyse en composantes principales ( StatQuest ).
Concepts d'apprentissage automatique
De plus, il y a quelques concepts fondamentaux de l'apprentissage automatique que vous voudrez également apprendre. Voici une liste (non exhaustive) de concepts que je recommande vivement d'apprendre. De nombreuses questions d'entrevue sont basées sur ces sujets!
- Régularisation .
- Le dilemme biais - variance .
- Matrice de confusion et métriques associées .
- Zone sous la courbe ROC et ROC (vidéo) .
- Récupération Bootstrap .
- Formation d'ensemble, ensachage et boosting .
- Normalisation et standardisation .
4. Projets dans le domaine de la science des données
À ce stade, vous aurez non seulement construit une base solide, mais vous aurez également une solide compréhension des principes fondamentaux de l'apprentissage automatique. Il est maintenant temps de travailler sur des projets secondaires personnels. Si vous souhaitez voir quelques exemples simples de projets de science des données, consultez certains de mes projets:
- Prédire la qualité du vin à l'aide de méthodes de classification ( article , Github ).
- Visualiser les données de coronavirus avec Plotly ( article , Github ).
- Système de recommandations de films avec filtres collaboratifs ( Github ).
Voici une liste de projets Data Science que vous pouvez consulter pour créer un projet parallèle intéressant.
J'espère que cet article vous guidera et vous aidera dans votre carrière en science des données. Il n'y a pas de solution miracle, alors n'hésitez pas à prendre ce post avec un grain de sel, mais je pense que l'apprentissage des bases sera payant à l'avenir. Et le code promo HABR ajoutera 10% à la réduction de formation indiquée sur la bannière.