.. _mlscikitlearnsimplerst: =============================================== Rappels sur scikit-learn et le machine learning =============================================== .. only:: html **Links:** :download:`notebook `, :downloadlink:`html `, :download:`python `, :downloadlink:`slides `, :githublink:`GitHub|_doc/notebooks/td2a_ml/ml_scikit_learn_simple.ipynb|*` Quelques exercices simples sur *scikit-learn*. Le notebook est long pour ceux qui débutent en machine learning et sans doute sans suspens pour ceux qui en ont déjà fait. .. code:: ipython3 from jyquickhelper import add_notebook_menu add_notebook_menu() .. contents:: :local: .. code:: ipython3 %matplotlib inline Des données synthétiques ------------------------ On simule un jeu de données aléatoires. .. code:: ipython3 from numpy import random n = 1000 X = random.rand(n, 2) X[:5] .. parsed-literal:: array([[0.25324685, 0.97811479], [0.32928095, 0.40816327], [0.44178633, 0.51600754], [0.76893618, 0.34170807], [0.00282938, 0.49371721]]) .. code:: ipython3 y = X[:, 0] * 3 - 2 * X[:, 1] ** 2 + random.rand(n) y[:5] .. parsed-literal:: array([-0.18666718, 1.29326419, 1.64748543, 2.39341326, 0.06048883]) Exercice 1 : diviser en base d’apprentissage et de test ------------------------------------------------------- Exercice 2 : caler une régression linéaire ------------------------------------------ Et calculer le coefficient :math:`R^2`. Exercice 3 : améliorer le modèle en appliquant une transformation bien choisie ------------------------------------------------------------------------------ Exercice 4 : caler une forêt aléatoire -------------------------------------- Exercice 5 : un peu de math --------------------------- Comparer les deux modèles sur les données suivantes ? Que remarquez-vous ? Expliquez pourquoi ? .. code:: ipython3 X_test2 = random.rand(n, 2) + 0.5 y_test2 = X_test2[:, 0] * 3 - 2 * X_test2[:, 1] ** 2 + random.rand(n) Exercice 6 : faire un graphe avec… ---------------------------------- Le nuage de points du premier et second jeu, les prédictions des deux modèles, une légende, un titre… avec `pandas `__ ou directement avec `matplotlib `__ au choix. Exercice 7 : illuster l’overfitting avec un arbre de décision ------------------------------------------------------------- Sur le premier jeu de données. Exercice 8 : augmenter le nombre de features et régulariser une régression logistique ------------------------------------------------------------------------------------- L’objectif est de regarder l’impact de la régularisation des coefficients d’une régression logistique lorsque le nombre de features augmentent.