:orphan: .. _l-notebooks: ====================== Galleries de notebooks ====================== :ref:`l-notebooks-coverage` .. contents:: :depth: 1 :local: Astuces de datascientist ======================== .. contents:: :local: .. toctree:: :maxdepth: 1 :hidden: notebooks/menu_notebook notebooks/decision_tree_visualization .. list-table:: :header-rows: 0 :widths: 3 5 15 * - .. image:: /notebooks/menu_notebook.thumb.png :target: notebooks/menu_notebook.html - :ref:`menunotebookrst` - Insérer un menu en javascript. * - .. image:: /notebooks/decision_tree_visualization.thumb.png :target: notebooks/decision_tree_visualization.html - :ref:`decisiontreevisualizationrst` - Les arbres de décision sont des modèles intéressants car ils peuvent être interprétés. Encore faut-il pouvoir les voir. Digressions machine learnesques =============================== .. contents:: :local: .. toctree:: :maxdepth: 1 :hidden: notebooks/constraint_kmeans .. list-table:: :header-rows: 0 :widths: 3 5 15 * - .. image:: /notebooks/constraint_kmeans.thumb.png :target: notebooks/constraint_kmeans.html - :ref:`constraintkmeansrst` - Les k-means construisent des clusters qui ne sont pas forcément équilibrés. Comment modifier l'algorithme original pour que ce soit le cas ? Notebooks commencés en cours ============================ .. contents:: :local: .. toctree:: :maxdepth: 1 :hidden: notebooks/2020-01-31_classification notebooks/2020-01-20_intro notebooks/2020-01-31_titanic notebooks/2020-02-07_sklapi notebooks/2019-01-25_linreg .. list-table:: :header-rows: 0 :widths: 3 5 15 * - .. image:: /notebooks/2020-01-31_classification.thumb.png :target: notebooks/2020-01-31_classification.html - :ref:`2020-01-31classificationrst` - Notebook autour d'un cas de classification binaire. * - .. image:: /notebooks/2020-01-20_intro.thumb.png :target: notebooks/2020-01-20_intro.html - :ref:`2020-01-20introrst` - Le jeu de données Wine Quality Data Set recense les composants chimiques de vins ainsi que la note d'experts. Peut-on prédire cette note à partir des composants chimiques ? Peut-être que si on arrive à construire une fonction qui permet de prédire cette note, on pourra comprendre comment l'expert note les vins. * - .. image:: /notebooks/2020-01-31_titanic.thumb.png :target: notebooks/2020-01-31_titanic.html - :ref:`2020-01-31titanicrst` - Le jeu Titanic contient la liste des passages du Titanic, quelques informations comme le billet, la classe, et le fait qu'ils aient survécu. Il est possible d'utiliser le machine learning pour étudier la probabilité de survie ou plutôt de comprendre un peu mieux qui a eu la chance de survivre. S'il est possible de prédire, alors il existe une sorte de règle. * - .. image:: /notebooks/2020-02-07_sklapi.thumb.png :target: notebooks/2020-02-07_sklapi.html - :ref:`2020-02-07sklapirst` - Ce notebook présente la régression Ridge, Lasso, et l'API de scikit-learn. Il explique plus en détail pourquoi la régression Lasso contraint les coefficients de la régression à s'annuler. * - .. image:: /notebooks/2019-01-25_linreg.thumb.png :target: notebooks/2019-01-25_linreg.html - :ref:`2019-01-25linregrst` - Un jeu de données, une régression linéaire et quelques trucs bizarres. Le jeu de données est Wine Data Set . Exemples et solutions ===================== .. contents:: :local: .. toctree:: :maxdepth: 1 :hidden: notebooks/wines_knn_split notebooks/text_sentiment_wordvec notebooks/wines_multi notebooks/artificiel_multiclass notebooks/wines_multi_stacking notebooks/wines_color_roc notebooks/artificiel_tokenize_features notebooks/wines_knn_split_strat notebooks/movielens_fm notebooks/artificiel_category_hash notebooks/wines_lime notebooks/artificiel_shape notebooks/adult_cat notebooks/artificiel_normalisation notebooks/wines_knn notebooks/wines_knn_acp notebooks/wines_knn_eval notebooks/wines_color_linear notebooks/artificiel_duration_prediction notebooks/wines_reg notebooks/tinygraph_rwr notebooks/search_rank notebooks/wines_color_line notebooks/logreg_kmeans notebooks/wines_color notebooks/wines_reg_poly notebooks/wines_knn_hyper notebooks/artificiel_tokenize notebooks/artificiel_category_2 notebooks/artificiel_category notebooks/wines_knn_cross_val .. list-table:: :header-rows: 0 :widths: 3 5 15 * - .. image:: /notebooks/wines_knn_split.thumb.png :target: notebooks/wines_knn_split.html - :ref:`winesknnsplitrst` - Le modèle est estimé sur une base d'apprentissage et évalué sur une base de test. * - .. image:: /notebooks/text_sentiment_wordvec.thumb.png :target: notebooks/text_sentiment_wordvec.html - :ref:`textsentimentwordvecrst` - Le texte est toujours délicat à traiter. La langue est importante et plus le vocabulaire est étendu, plus il faut de données. Le problème qui suit est classique, on cherche à catégoriser des phrases en sentiment positif ou négatif. Ce pourrait être aussi classer des spams. Le problème le plus simple : une phrase, un label. * - .. image:: /notebooks/wines_multi.thumb.png :target: notebooks/wines_multi.html - :ref:`winesmultirst` - On cherche à prédire la note d'un vin avec un classifieur multi-classe. * - .. image:: /notebooks/artificiel_multiclass.thumb.png :target: notebooks/artificiel_multiclass.html - :ref:`artificielmulticlassrst` - Plus il y a de classes, plus la classification est difficile car le nombre d'exemples par classe diminue. Voyons cela plus en détail sur des jeux artificiels produits mar make_blobs. * - .. image:: /notebooks/wines_multi_stacking.thumb.png :target: notebooks/wines_multi_stacking.html - :ref:`winesmultistackingrst` - On cherche à prédire la note d'un vin avec un classifieur multi-classe puis à améliorer le score obtenu avec une méthode dite de stacking. * - .. image:: /notebooks/wines_color_roc.thumb.png :target: notebooks/wines_color_roc.html - :ref:`winescolorrocrst` - La courbe ROC est une façon de visualiser la performance d'un classifieur ou plutôt sa pertinence. Voyons comment. * - .. image:: /notebooks/artificiel_tokenize_features.thumb.png :target: notebooks/artificiel_tokenize_features.html - :ref:`artificieltokenizefeaturesrst` - La tokenisation consiste à découper un texte en *token*, l'approche *sac de mots* consiste à compter les occurences de chaque mot dans chaque document de la base de données. * - .. image:: /notebooks/wines_knn_split_strat.thumb.png :target: notebooks/wines_knn_split_strat.html - :ref:`winesknnsplitstratrst` - Lorsqu'une classe est sous-représentée, il y a peu de chances que la répartition apprentissage test conserve la distribution des classes. * - .. image:: /notebooks/movielens_fm.thumb.png :target: notebooks/movielens_fm.html - :ref:`movielensfmrst` - Le notebook utilise la factorisation de matrice pour calculer des recommandations sur la base movielens. On utilise le jeu de données ml-latest-small.zip. * - .. image:: /notebooks/artificiel_category_hash.thumb.png :target: notebooks/artificiel_category_hash.html - :ref:`artificielcategoryhashrst` - Le hashing est utilise lorsque le nombre de catégories est trop grand. * - .. image:: /notebooks/wines_lime.thumb.png :target: notebooks/wines_lime.html - :ref:`wineslimerst` - Le notebook explore différentes façons d'interpréter la prédiction de la note d'un vin. * - .. image:: /notebooks/artificiel_shape.thumb.png :target: notebooks/artificiel_shape.html - :ref:`artificielshaperst` - La plupart des modèles de machine learning doivent être rafraîchi régulièrement. Quelques intuitions derrière ce phénomène. * - .. image:: /notebooks/adult_cat.thumb.png :target: notebooks/adult_cat.html - :ref:`adultcatrst` - Le jeu de données Adult Data Set ne contient presque que des catégories. Ce notebook explore différentes moyens de les traiter. * - .. image:: /notebooks/artificiel_normalisation.thumb.png :target: notebooks/artificiel_normalisation.html - :ref:`artificielnormalisationrst` - La normalisation des données est souvent inutile d'un point de vue mathématique. C'est une autre histoire d'un point de vue numérique où le fait d'avoir des données qui se ressemblent améliore la convergence des algorithmes et la précision des calculs. Voyons cela sur quelques exemples. * - .. image:: /notebooks/wines_knn.thumb.png :target: notebooks/wines_knn.html - :ref:`winesknnrst` - On cherche à prédire la note d'un vin avec un modèle des plus proches voisins. * - .. image:: /notebooks/wines_knn_acp.thumb.png :target: notebooks/wines_knn_acp.html - :ref:`winesknnacprst` - On projette le jeu de données initiale selon les premiers axes d'une analyse en composantes principales (ACP). * - .. image:: /notebooks/wines_knn_eval.thumb.png :target: notebooks/wines_knn_eval.html - :ref:`winesknnevalrst` - Comment évaluer la pertinence d'un modèle des plus proches voisins. * - .. image:: /notebooks/wines_color_linear.thumb.png :target: notebooks/wines_color_linear.html - :ref:`winescolorlinearrst` - On cherche à prédire la note d'un vin mais on suppose que cette qualité est dépendante de la couleur et qu'il faudrait appliquer des modèles différents selon la couleur. * - .. image:: /notebooks/artificiel_duration_prediction.thumb.png :target: notebooks/artificiel_duration_prediction.html - :ref:`artificieldurationpredictionrst` - Ce notebook cherche à prédire la durée de stockage de paquets préparés par un magasin. Chaque paquet met plus ou moins de temps à être préparé. Si la commande arrive le soir et ne peut être finie avant la fin de la journée, elle est reportée sur la journée suivante. C'est la particularité de ce jeu de données. * - .. image:: /notebooks/wines_reg.thumb.png :target: notebooks/wines_reg.html - :ref:`winesregrst` - Le notebook compare plusieurs de modèles de régression. * - .. image:: /notebooks/tinygraph_rwr.thumb.png :target: notebooks/tinygraph_rwr.html - :ref:`tinygraphrwrrst` - Si la méthode de factorisation de matrices est la méthode la plus connue pour faire des recommandations, ce n'est pas la seule. L'algorithme Random Walk with Restart s'appuie sur l'exploration locale des noeuds d'un graphe et produit des résultats plus facile à intepréter.)*. * - .. image:: /notebooks/search_rank.thumb.png :target: notebooks/search_rank.html - :ref:`searchrankrst` - C'est un petit exemple de ranking avec un très petit jeu de données, trop petit pour que le modèle soit performant, mais le code peut être réutilisé pour des exemples de taille raisonnable. C'est à dire probablement pas pour apprendre un moteur de recherche. * - .. image:: /notebooks/wines_color_line.thumb.png :target: notebooks/wines_color_line.html - :ref:`winescolorlinerst` - Prédire la couleur d'un vin à partir de ses composants. * - .. image:: /notebooks/logreg_kmeans.thumb.png :target: notebooks/logreg_kmeans.html - :ref:`logregkmeansrst` - La régression logistique est un modèle de classification binaire, simple à interpréter mais limité dans la gamme des problèmes qu'il peut résoudre. Limité comment ? * - .. image:: /notebooks/wines_color.thumb.png :target: notebooks/wines_color.html - :ref:`winescolorrst` - Prédire la couleur d'un vin à partir de ses composants et visualiser la performance avec une courbe ROC. * - .. image:: /notebooks/wines_reg_poly.thumb.png :target: notebooks/wines_reg_poly.html - :ref:`winesregpolyrst` - Le notebook compare plusieurs de modèles de régression polynômiale. * - .. image:: /notebooks/wines_knn_hyper.thumb.png :target: notebooks/wines_knn_hyper.html - :ref:`winesknnhyperrst` - Le modèle des plus proches voisins KNeighborsRegressor est paramétrable. Le nombre de voisins est variables, la prédiction peut dépendre du plus proche voisins ou des $k$ plus proches proches. Comment choisir $k$ ? * - .. image:: /notebooks/artificiel_tokenize.thumb.png :target: notebooks/artificiel_tokenize.html - :ref:`artificieltokenizerst` - La tokenisation consiste à découper un texte en *token*, le plus souvent des mots. Le notebook utilise un extrait d'un article du monde. * - .. image:: /notebooks/artificiel_category_2.thumb.png :target: notebooks/artificiel_category_2.html - :ref:`artificielcategory2rst` - Ce notebook présenté des encoding différents de ceux implémentées dans scikit-learn. * - .. image:: /notebooks/artificiel_category.thumb.png :target: notebooks/artificiel_category.html - :ref:`artificielcategoryrst` - Ce notebook présente différentes options pour gérer les catégories au format entier ou texte. * - .. image:: /notebooks/wines_knn_cross_val.thumb.png :target: notebooks/wines_knn_cross_val.html - :ref:`winesknncrossvalrst` - Il est acquis qu'un modèle doit être évalué sur une base de test différente de celle utilisée pour l'apprentissage. Mais la performance est peut-être juste l'effet d'une aubaine et d'un découpage particulièrement avantageux. Pour être sûr que le modèle est robuste, on recommence plusieurs fois. On appelle cela la validation croisée ou cross validation. Timeseries ========== Ou séries temporelles. .. contents:: :local: .. toctree:: :maxdepth: 1 :hidden: notebooks/ts_pred notebooks/ts_covid .. list-table:: :header-rows: 0 :widths: 3 5 15 * - .. image:: /notebooks/ts_pred.thumb.png :target: notebooks/ts_pred.html - :ref:`tspredrst` - On s'intéresse aux séries temporelles de l'épidémie du COVID en France récupérées depuis data.gouv.fr : Chiffres-clés concernant l'épidémie de COVID19 en France. * - .. image:: /notebooks/ts_covid.thumb.png :target: notebooks/ts_covid.html - :ref:`tscovidrst` - On s'intéresse aux séries temporelles de l'épidémie du COVID en France récupérées depuis data.gouv.fr : Chiffres-clés concernant l'épidémie de COVID19 en France. Visualisation ============= .. contents:: :local: .. toctree:: :maxdepth: 1 :hidden: notebooks/carte_carreau notebooks/enedis_cartes notebooks/enedis_cartes_bokeh .. list-table:: :header-rows: 0 :widths: 3 5 15 * - .. image:: /notebooks/carte_carreau.thumb.png :target: notebooks/carte_carreau.html - :ref:`cartecarreaurst` - Les données carroyées sont des données économiques agrégées sur tout le territoire français sur des carrés de 200m de côté. * - .. image:: /notebooks/enedis_cartes.thumb.png :target: notebooks/enedis_cartes.html - :ref:`enediscartesrst` - Le notebook propose plusieurs façons de tracer une carte en Python. * - .. image:: /notebooks/enedis_cartes_bokeh.thumb.png :target: notebooks/enedis_cartes_bokeh.html - :ref:`enediscartesbokehrst` - bokeh permet de tracer une carte sur laquelle on peut zoomer, dézoomer et qui ne dépend pas d'un service extérieur comme folium. .. toctree:: :hidden: all_notebooks_coverage