Bloc-notes IPython démontrant la fonctionnalité d'apprentissage en profondeur.
Tutoriels TensorFlow supplémentaires :
Carnet de notes | Description |
---|---|
bases de tsf | Apprenez les opérations de base dans TensorFlow, une bibliothèque pour différents types de tâches de perception et de compréhension du langage de Google. |
tsf-linéaire | Implémentez la régression linéaire dans TensorFlow. |
tsf-logistique | Implémentez la régression logistique dans TensorFlow. |
tsf-nn | Implémentez les voisins les plus proches dans TensorFlow. |
tsf-alex | Implémentez AlexNet dans TensorFlow. |
tsf-cnn | Implémentez des réseaux de neurones convolutifs dans TensorFlow. |
tsf-mlp | Implémentez des perceptrons multicouches dans TensorFlow. |
tsf-rnn | Implémentez des réseaux de neurones récurrents dans TensorFlow. |
tsf-gpu | Découvrez le calcul multi-GPU de base dans TensorFlow. |
tsf-gviz | Découvrez la visualisation graphique dans TensorFlow. |
tsf-lviz | Découvrez la visualisation des pertes dans TensorFlow. |
Carnet de notes | Description |
---|---|
tsf-not-mnist | Apprenez la conservation simple des données en créant un pickle avec des ensembles de données formatés pour la formation, le développement et les tests dans TensorFlow. |
tsf-entièrement connecté | Entraînez progressivement des modèles plus approfondis et plus précis à l'aide de la régression logistique et des réseaux de neurones dans TensorFlow. |
tsf-régularisation | Explorez les techniques de régularisation en entraînant des réseaux entièrement connectés pour classer les caractères notMNIST dans TensorFlow. |
tsf-convolutions | Créez des réseaux de neurones convolutifs dans TensorFlow. |
tsf-word2vec | Entraînez un modèle skip-gram sur des données Text8 dans TensorFlow. |
tsf-lstm | Entraînez un modèle de personnage LSTM sur des données Text8 dans TensorFlow. |
Carnet de notes | Description |
---|---|
théano-intro | Introduction à Theano, qui vous permet de définir, d'optimiser et d'évaluer efficacement des expressions mathématiques impliquant des tableaux multidimensionnels. Il peut utiliser des GPU et effectuer une différenciation symbolique efficace. |
théano-scan | Apprenez les scans, un mécanisme pour effectuer des boucles dans un graphique Theano. |
théano-logistique | Implémentez la régression logistique dans Theano. |
théano-rnn | Implémentez des réseaux de neurones récurrents dans Theano. |
théano-mlp | Implémentez des perceptrons multicouches dans Theano. |
Carnet de notes | Description |
---|---|
kéras | Keras est une bibliothèque de réseaux neuronaux open source écrite en Python. Il est capable de fonctionner sur Tensorflow ou Theano. |
installation | Découvrez les objectifs du didacticiel et comment configurer votre environnement Keras. |
introduction-deep-learning-ann | Obtenez une introduction à l'apprentissage profond avec Keras et les réseaux de neurones artificiels (ANN). |
théano | Découvrez Theano en travaillant avec des matrices de poids et des dégradés. |
keras-otto | Découvrez Keras en consultant le défi Kaggle Otto. |
ann-mnist | Passez en revue une implémentation simple d’ANN pour MNIST à l’aide de Keras. |
réseaux de conversion | Découvrez les réseaux de neurones convolutifs (CNN) avec Keras. |
conv-net-1 | Reconnaître les chiffres manuscrits du MNIST à l'aide de Keras - Partie 1. |
conv-net-2 | Reconnaître les chiffres manuscrits du MNIST à l'aide de Keras - Partie 2. |
modèles-keras | Utilisez des modèles pré-entraînés tels que VGG16, VGG19, ResNet50 et Inception v3 avec Keras. |
auto-encodeurs | Découvrez les auto-encodeurs avec Keras. |
rnn-lstm | Découvrez les réseaux de neurones récurrents (RNN) avec Keras. |
lstm-phrase-gen | Découvrez les RNN utilisant les réseaux LSTM (Long Short Term Memory) avec Keras. |
Carnet de notes | Description |
---|---|
rêve profond | Programme de vision par ordinateur basé sur Caffe qui utilise un réseau neuronal convolutif pour rechercher et améliorer des motifs dans les images. |
Bloc-notes IPython démontrant la fonctionnalité scikit-learn.
Carnet de notes | Description |
---|---|
introduction | Cahier d'introduction à scikit-learn. Scikit-learn ajoute la prise en charge de Python pour les grands tableaux et matrices multidimensionnels, ainsi qu'une vaste bibliothèque de fonctions mathématiques de haut niveau pour fonctionner sur ces tableaux. |
je sais | Implémentez les k voisins les plus proches dans scikit-learn. |
linéaire-reg | Implémentez la régression linéaire dans scikit-learn. |
svm | Implémentez des classificateurs de machines vectorielles de support avec et sans noyaux dans scikit-learn. |
forêt aléatoire | Implémentez des classificateurs et des régresseurs de forêt aléatoires dans scikit-learn. |
k-signifie | Implémentez le clustering k-means dans scikit-learn. |
APC | Implémentez l’analyse en composantes principales dans scikit-learn. |
gmm | Implémentez des modèles de mélange gaussien dans scikit-learn. |
validation | Implémentez la validation et la sélection de modèles dans scikit-learn. |
Bloc-notes IPython démontrant l'inférence statistique avec la fonctionnalité SciPy.
Carnet de notes | Description |
---|---|
scipy | SciPy est une collection d'algorithmes mathématiques et de fonctions pratiques construites sur l'extension Numpy de Python. Il ajoute une puissance significative à la session Python interactive en fournissant à l'utilisateur des commandes et des classes de haut niveau pour manipuler et visualiser les données. |
taille de l'effet | Explorez les statistiques qui quantifient l’ampleur de l’effet en analysant la différence de taille entre les hommes et les femmes. Utilise les données du système de surveillance des facteurs de risque comportementaux (BRFSS) pour estimer la moyenne et l'écart type de la taille des femmes et des hommes adultes aux États-Unis. |
échantillonnage | Explorez l'échantillonnage aléatoire en analysant le poids moyen des hommes et des femmes aux États-Unis à l'aide des données BRFSS. |
hypothèse | Explorez les tests d’hypothèses en analysant la différence entre les premiers-nés et les autres. |
Bloc-notes IPython démontrant la fonctionnalité pandas.
Carnet de notes | Description |
---|---|
pandas | Bibliothèque logicielle écrite pour la manipulation et l'analyse de données en Python. Propose des structures de données et des opérations pour manipuler des tableaux numériques et des séries chronologiques. |
github-data-wrangling | Apprenez à charger, nettoyer, fusionner et créer des fonctionnalités en analysant les données GitHub du référentiel Viz . |
Introduction aux Pandas | Introduction aux Pandas. |
Présentation des objets Pandas | Découvrez les objets Pandas. |
Indexation et sélection des données | Découvrez l’indexation et la sélection des données dans Pandas. |
Opérations chez les Pandas | Découvrez comment utiliser les données dans Pandas. |
Valeurs manquantes | Découvrez comment gérer les données manquantes dans Pandas. |
Indexation hiérarchique | Découvrez l’indexation hiérarchique dans Pandas. |
Concaténer et ajouter | Découvrez comment combiner des ensembles de données : concaténer et ajouter dans Pandas. |
Fusionner et rejoindre | Découvrez comment combiner des ensembles de données : fusionnez et rejoignez Pandas. |
Agrégation et regroupement | Découvrez l’agrégation et le regroupement dans Pandas. |
Tableaux croisés dynamiques | Découvrez les tableaux croisés dynamiques dans Pandas. |
Travailler avec des chaînes | Découvrez les opérations sur les chaînes vectorisées dans Pandas. |
Travailler avec des séries temporelles | Découvrez comment travailler avec des séries chronologiques chez les pandas. |
Évaluation des performances et requête | Découvrez les Pandas hautes performances : eval() et query() dans Pandas. |
Bloc-notes IPython démontrant la fonctionnalité matplotlib.
Carnet de notes | Description |
---|---|
matplotlib | Bibliothèque de traçage Python 2D qui produit des chiffres de qualité de publication dans une variété de formats papier et d'environnements interactifs sur toutes les plateformes. |
matplotlib-appliqué | Appliquez les visualisations matplotlib aux compétitions Kaggle pour une analyse exploratoire des données. Découvrez comment créer des diagrammes à barres, des histogrammes, une grille subplot2, des tracés normalisés, des nuages de points, des sous-tracés et des tracés d'estimation de la densité du noyau. |
Introduction à Matplotlib | Introduction à Matplotlib. |
Tracés linéaires simples | Découvrez les tracés linéaires simples dans Matplotlib. |
Nuages de points simples | Découvrez les nuages de points simples dans Matplotlib. |
Barres d'erreur.ipynb | Découvrez comment visualiser les erreurs dans Matplotlib. |
Tracés de densité et de contour | Découvrez les tracés de densité et de contour dans Matplotlib. |
Histogrammes et regroupements | Découvrez les histogrammes, les regroupements et la densité dans Matplotlib. |
Personnalisation-Légendes | Découvrez comment personnaliser les légendes des tracés dans Matplotlib. |
Personnalisation des barres de couleurs | Découvrez comment personnaliser les barres de couleurs dans Matplotlib. |
Plusieurs sous-parcelles | Découvrez plusieurs sous-parcelles dans Matplotlib. |
Texte et annotation | Découvrez le texte et les annotations dans Matplotlib. |
Personnalisation des ticks | Découvrez comment personnaliser les ticks dans Matplotlib. |
Paramètres et feuilles de style | Découvrez comment personnaliser Matplotlib : configurations et feuilles de style. |
Traçage tridimensionnel | Découvrez le traçage tridimensionnel dans Matplotlib. |
Données géographiques avec fond de carte | Découvrez les données géographiques avec le fond de carte dans Matplotlib. |
Visualisation avec Seaborn | Découvrez la visualisation avec Seaborn. |
Bloc-notes IPython démontrant la fonctionnalité NumPy.
Carnet de notes | Description |
---|---|
numpy | Ajoute la prise en charge de Python pour les grands tableaux et matrices multidimensionnels, ainsi qu'une vaste bibliothèque de fonctions mathématiques de haut niveau pour fonctionner sur ces tableaux. |
Introduction à NumPy | Introduction à NumPy. |
Comprendre les types de données | Découvrez les types de données en Python. |
Les bases des tableaux NumPy | Découvrez les bases des tableaux NumPy. |
Calcul-sur-tableaux-ufuncs | Découvrez les calculs sur les tableaux NumPy : fonctions universelles. |
Calcul sur des agrégats de tableaux | Découvrez les agrégations : min, max et tout le reste dans NumPy. |
Diffusion de calcul sur tableaux | Découvrez le calcul sur les tableaux : la diffusion dans NumPy. |
Tableaux et masques booléens | Découvrez les comparaisons, les masques et la logique booléenne dans NumPy. |
Indexation sophistiquée | Découvrez l’indexation sophistiquée dans NumPy. |
Tri | Découvrez le tri des tableaux dans NumPy. |
Données structurées-NumPy | Découvrez les données structurées : les tableaux structurés de NumPy. |
Bloc-notes IPython démontrant les fonctionnalités Python orientées vers l'analyse des données.
Carnet de notes | Description |
---|---|
structures de données | Apprenez les bases de Python avec des tuples, des listes, des dicts et des ensembles. |
utilitaires de structure de données | Apprenez les opérations Python telles que slice, range, xrange, bisect, sort, sorted, reversed, enumerate, zip, list compréhensions. |
fonctions | Découvrez les fonctionnalités Python plus avancées : fonctions en tant qu'objets, fonctions lambda, fermetures, *args, **kwargs currying, générateurs, expressions génératrices, itertools. |
dateheure | Apprenez à travailler avec les dates et heures Python : datetime, strftime, strptime, timedelta. |
enregistrement | Découvrez la journalisation Python avec RotatingFileHandler et TimedRotatingFileHandler. |
pdb | Apprenez à déboguer en Python avec le débogueur de code source interactif. |
tests unitaires | Apprenez à tester en Python avec les tests unitaires Nose. |
Bloc-notes IPython utilisé(s) dans les compétitions Kaggle et les analyses commerciales.
Carnet de notes | Description |
---|---|
titanesque | Prédisez votre survie sur le Titanic. Apprenez le nettoyage des données, l’analyse exploratoire des données et l’apprentissage automatique. |
analyse de désabonnement | Prévoyez le taux de désabonnement des clients. Exercez la régression logistique, les classificateurs d'amplification de gradient, les machines à vecteurs de support, les forêts aléatoires et les k voisins les plus proches. Comprend des discussions sur les matrices de confusion, les tracés ROC, l'importance des caractéristiques, les probabilités de prédiction et l'étalonnage/descrimination. |
Bloc-notes IPython démontrant les fonctionnalités Spark et HDFS.
Carnet de notes | Description |
---|---|
étincelle | Cadre informatique en cluster en mémoire, jusqu'à 100 fois plus rapide pour certaines applications et bien adapté aux algorithmes d'apprentissage automatique. |
hdfs | Stocke de manière fiable des fichiers très volumineux sur les machines d’un grand cluster. |
Bloc-notes IPython démontrant Hadoop MapReduce avec la fonctionnalité mrjob.
Carnet de notes | Description |
---|---|
mapreduce-python | Exécute des tâches MapReduce en Python, en exécutant des tâches localement ou sur des clusters Hadoop. Démontre Hadoop Streaming en code Python avec test unitaire et fichier de configuration mrjob pour analyser les journaux de compartiment Amazon S3 sur Elastic MapReduce. Disco est une autre alternative basée sur Python. |
Bloc-notes IPython illustrant les fonctionnalités d'Amazon Web Services (AWS) et des outils AWS.
Consultez également :
Carnet de notes | Description |
---|---|
boto | SDK AWS officiel pour Python. |
s3cmd | Interagit avec S3 via la ligne de commande. |
s3distcp | Combine des fichiers plus petits et les agrège en prenant en compte un modèle et un fichier cible. S3DistCp peut également être utilisé pour transférer de gros volumes de données de S3 vers votre cluster Hadoop. |
s3-parallèle-put | Télécharge plusieurs fichiers sur S3 en parallèle. |
décalage vers le rouge | Agit comme un entrepôt de données rapide construit au sommet de la technologie du traitement parallèle massif (MPP). |
kinésie | Diffuse les données en temps réel avec la possibilité de traiter des milliers de flux de données par seconde. |
lambda | Exécute du code en réponse aux événements, en gérant automatiquement les ressources de calcul. |
Notebook(s) IPython illustrant diverses lignes de commande pour Linux, Git, etc.
Carnet de notes | Description |
---|---|
Linux | Système d'exploitation informatique de type Unix et principalement compatible POSIX. Utilisation du disque, fractionnement de fichiers, grep, sed, curl, affichage des processus en cours, coloration syntaxique du terminal et Vim. |
anaconda | Distribution du langage de programmation Python pour le traitement de données à grande échelle, l'analyse prédictive et le calcul scientifique, qui vise à simplifier la gestion et le déploiement des packages. |
cahier ipython | Environnement informatique interactif basé sur le Web dans lequel vous pouvez combiner l'exécution de code, le texte, les mathématiques, les tracés et les médias enrichis dans un seul document. |
git | Système de contrôle de révision distribué mettant l'accent sur la vitesse, l'intégrité des données et la prise en charge des flux de travail distribués et non linéaires. |
rubis | Utilisé pour interagir avec la ligne de commande AWS et pour Jekyll, un framework de blog pouvant être hébergé sur les pages GitHub. |
Jekyll | Générateur de sites statiques simples, compatibles avec les blogs, pour les sites personnels, de projet ou d'organisation. Rend les modèles Markdown ou Textile and Liquid et produit un site Web complet et statique prêt à être servi par Apache HTTP Server, Nginx ou un autre serveur Web. |
pélican | Alternative basée sur Python à Jekyll. |
Django | Framework Web Python de haut niveau qui encourage un développement rapide et une conception propre et pragmatique. Cela peut être utile pour partager des rapports/analyses et pour bloguer. Les alternatives plus légères incluent Pyramid, Flask, Tornado et Bottle. |
Bloc-notes IPython démontrant diverses fonctionnalités.
Carnet de notes | Description |
---|---|
expression régulière | Aide-mémoire sur les expressions régulières utile dans la gestion des données. |
algorithmie | Algorithmia est un marché pour les algorithmes. Ce carnet présente 4 algorithmes différents : détection de visage, résumé de contenu, allocation de Dirichlet latent et reconnaissance optique de caractères. |
Anaconda est une distribution gratuite du langage de programmation Python pour le traitement de données à grande échelle, l'analyse prédictive et le calcul scientifique qui vise à simplifier la gestion et le déploiement des packages.
Suivez les instructions pour installer Anaconda ou le miniconda plus léger.
Pour obtenir des instructions détaillées, des scripts et des outils permettant de configurer votre environnement de développement pour l'analyse des données, consultez le dépôt dev-setup.
Pour afficher du contenu interactif ou pour modifier des éléments dans les notebooks IPython, vous devez d'abord cloner ou télécharger le référentiel, puis exécuter le notebook. Plus d’informations sur les notebooks IPython peuvent être trouvées ici.
$ git clone https://github.com/donnemartin/data-science-ipython-notebooks.git
$ cd data-science-ipython-notebooks
$ jupyter notebook
Notebooks testés avec Python 2.7.x.
Les contributions sont les bienvenues ! Pour les rapports de bogues ou les demandes, veuillez soumettre un problème.
N'hésitez pas à me contacter pour discuter de tout problème, question ou commentaire.
Ce référentiel contient une variété de contenus ; certains développés par Donne Martin et d'autres par des tiers. Le contenu tiers est distribué sous la licence fournie par ces parties.
Le contenu développé par Donne Martin est distribué sous la licence suivante :
Je vous fournis le code et les ressources de ce référentiel sous une licence open source. Puisqu'il s'agit de mon référentiel personnel, la licence que vous recevez pour mon code et mes ressources vient de moi et non de mon employeur (Facebook).
Copyright 2015 Donne Martin
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.