:orphan: .. _l-notebooks: Galleries ========= :ref:`l-notebooks-coverage` .. contents:: :depth: 1 :local: Le petit coin des data scientists --------------------------------- Ce sont quelques notebooks sur des points particuliers qui surgissent au quotidien quand on traite des données. .. contents:: :local: .. toctree:: :maxdepth: 1 :hidden: notebooks/classification_multiple notebooks/correlation_non_lineaire notebooks/file_dattente_ex notebooks/discret_gradient notebooks/regression_lineaire notebooks/quantile_regression_example notebooks/split_train_test .. list-table:: :header-rows: 0 :widths: 3 5 15 * - .. image:: /notebooks/classification_multiple.thumb.png :target: notebooks/classification_multiple.html - :ref:`classificationmultiplerst` - Explorations autour d'un problème de classification multiple. * - .. image:: /notebooks/correlation_non_lineaire.thumb.png :target: notebooks/correlation_non_lineaire.html - :ref:`correlationnonlineairerst` - Les corrélations indiquent si deux variables sont linéairement équivalentes. Comment étendre cette notion à des variables liées mais pas de façon linéaire. * - .. image:: /notebooks/file_dattente_ex.thumb.png :target: notebooks/file_dattente_ex.html - :ref:`filedattenteexrst` - Cet exemple vient illustrer le paragraphe sur les files d'attente et l'espérance de vie des ampoules. * - .. image:: /notebooks/discret_gradient.thumb.png :target: notebooks/discret_gradient.html - :ref:`discretgradientrst` - Les méthodes d'optimisation à base de gradient s'appuie sur une fonction d'erreur dérivable qu'on devrait appliquer de préférence sur des variables aléatoires réelles. Ce notebook explore quelques idées. * - .. image:: /notebooks/regression_lineaire.thumb.png :target: notebooks/regression_lineaire.html - :ref:`regressionlineairerst` - Ce notebook s'intéresse à la façon d'interpréter les résultats d'une régression linéaire lorsque les variables sont corrélées puis il explore une façon d'associer arbre de décision et régression linéaire pour construire une régression linéaire par morceaux. * - .. image:: /notebooks/quantile_regression_example.thumb.png :target: notebooks/quantile_regression_example.html - :ref:`quantileregressionexamplerst` - La régression quantile est moins sensible aux points aberrants. Elle peut être définie comme une régression avec une norme *L1* (une valeur absolue). Ce notebook explore des régressions avec des quantiles différents. * - .. image:: /notebooks/split_train_test.thumb.png :target: notebooks/split_train_test.html - :ref:`splittraintestrst` - C'est un problème plutôt facile puisqu'il s'agit de répartir aléatoirement les lignes d'une base de données d'un côté ou de l'autre. Lorsque le problème de machine learning à résoudre est un problème de classification, il faut s'assurer que chaque côté contient une proportion raisonnable de chaque classe. Images ------ .. contents:: :local: .. toctree:: :maxdepth: 1 :hidden: notebooks/segment_detection .. list-table:: :header-rows: 0 :widths: 3 5 15 * - .. image:: /notebooks/segment_detection.thumb.png :target: notebooks/segment_detection.html - :ref:`segmentdetectionrst` - C'est une technique assez vieille et qui consiste à détecter des segments comme des anomalies : l'alignement de points est un événement assez rare dans un nuage de points mais rare comment ? Cette idée mène à la probabilisation d'une image pour quantifier ce qu'est un alignement de points nécessairement rare. Métriques --------- .. contents:: :local: .. toctree:: :maxdepth: 1 :hidden: notebooks/roc_example notebooks/pvalues_examples .. list-table:: :header-rows: 0 :widths: 3 5 15 * - .. image:: /notebooks/roc_example.thumb.png :target: notebooks/roc_example.html - :ref:`rocexamplerst` - A few graphs about ROC on the iris datasets. * - .. image:: /notebooks/pvalues_examples.thumb.png :target: notebooks/pvalues_examples.html - :ref:`pvaluesexamplesrst` - Compute p-values and heavy tails estimators. Machine Learning ---------------- .. contents:: :local: .. toctree:: :maxdepth: 1 :hidden: notebooks/survival notebooks/benchmark notebooks/mf_acp notebooks/neural_tree_onnx notebooks/neural_tree_cost notebooks/piecewise_linear_regression notebooks/regression_no_inversion notebooks/reseau_neurones notebooks/neural_tree notebooks/valeurs_manquantes_mf notebooks/logreg_voronoi .. list-table:: :header-rows: 0 :widths: 3 5 15 * - .. image:: /notebooks/survival.thumb.png :target: notebooks/survival.html - :ref:`survivalrst` - * - .. image:: /notebooks/benchmark.thumb.png :target: notebooks/benchmark.html - :ref:`benchmarkrst` - Ce notebook compare différents modèles depuis un notebook. * - .. image:: /notebooks/mf_acp.thumb.png :target: notebooks/mf_acp.html - :ref:`mfacprst` - Un exemple pour montrer l'équivalence entre l'ACP et une factorisation de matrice. * - .. image:: /notebooks/neural_tree_onnx.thumb.png :target: notebooks/neural_tree_onnx.html - :ref:`neuraltreeonnxrst` - La conversion d'un arbre de décision au format ONNX peut créer des différences entre le modèle original et le modèle converti (voir Issues when switching to float. Le problème vient d'un changement de type, les seuils de décisions sont arrondis au float32 le plus proche de leur valeur en float64 (double). Qu'advient-il si l'arbre de décision est converti en réseau de neurones d'abord. * - .. image:: /notebooks/neural_tree_cost.thumb.png :target: notebooks/neural_tree_cost.html - :ref:`neuraltreecostrst` - La classe NeuralTreeNet convertit un arbre de décision en réseau de neurones. Si la conversion n'est pas exacte mais elle permet d'obtenir un modèle différentiable et apprenable avec un algorithme d'optimisation à base de gradient. Ce notebook compare le temps d'éxécution entre un arbre et le réseau de neurones. * - .. image:: /notebooks/piecewise_linear_regression.thumb.png :target: notebooks/piecewise_linear_regression.html - :ref:`piecewiselinearregressionrst` - La régression linéaire par morceaux a l'avantage de produire un modèle localement interprétable. Mais ce n'est pas évident d'estimer un tel modèle quand on ne connaît pas les morceaux par avance. * - .. image:: /notebooks/regression_no_inversion.thumb.png :target: notebooks/regression_no_inversion.html - :ref:`regressionnoinversionrst` - Ce notebook mesure le temps de calcul dans deux algorithmes pour résoudre une régression linéaire, le premier inverse un matrice, le second le fait sans inverser une matrice, le troisième reprend l'idée du second mais utilise une décomposition QR puis inverse la matrice *R*. * - .. image:: /notebooks/reseau_neurones.thumb.png :target: notebooks/reseau_neurones.html - :ref:`reseauneuronesrst` - Réseaux de neurones avec scikit-learn. * - .. image:: /notebooks/neural_tree.thumb.png :target: notebooks/neural_tree.html - :ref:`neuraltreerst` - L'idée est de convertir sous la forme d'un réseaux de neurones un arbre de décision puis de continuer l'apprentissage de façon à obtenir un assemblage de régression logistique plutôt que de décision binaire. * - .. image:: /notebooks/valeurs_manquantes_mf.thumb.png :target: notebooks/valeurs_manquantes_mf.html - :ref:`valeursmanquantesmfrst` - Réflexion autour des valeur manquantes et de la factorisation de matrice positive. * - .. image:: /notebooks/logreg_voronoi.thumb.png :target: notebooks/logreg_voronoi.html - :ref:`logregvoronoirst` - Le notebook étudie la pertinence d'un modèle de régression logistique dans certaines configurations. Il regarde aussi le diagramme de Voronoï associé à une régression logistique à trois classes. Il donne quelques intuitions sur les modèles que la régression logistique peut résoudre. NLP - Natural Language Processing --------------------------------- .. contents:: :local: .. toctree:: :maxdepth: 1 :hidden: notebooks/completion_trie_long notebooks/completion_profiling notebooks/completion_trie notebooks/completion_simple .. list-table:: :header-rows: 0 :widths: 3 5 15 * - .. image:: /notebooks/completion_trie_long.thumb.png :target: notebooks/completion_trie_long.html - :ref:`completiontrielongrst` - Evaluation of a completion system on wikpedia pages. * - .. image:: /notebooks/completion_profiling.thumb.png :target: notebooks/completion_profiling.html - :ref:`completionprofilingrst` - Profiling avec cProfile, memory_profiler, pyinstrument, snakeviz. * - .. image:: /notebooks/completion_trie.thumb.png :target: notebooks/completion_trie.html - :ref:`completiontrierst` - Comparaion de plusieurs algorithmes pour implémenter un système de complétion. * - .. image:: /notebooks/completion_simple.thumb.png :target: notebooks/completion_simple.html - :ref:`completionsimplerst` - Evaluation d'une métrique pour un système de complétion sur quelques cas simples. .. toctree:: :hidden: all_notebooks_coverage