2. Agenda 1 : Etude de cas en régression – Approche Fonctionnelle
• Modélisation de la régression linéaire
• Prévision des prix des maisons: une étude de cas en régression
• Quel est le but et comment allez-vous l’aborder
• Régression linéaire: une approche basée sur un modèle
• Ajout d'effets d'ordre supérieur
• Évaluation du modèle de régression
• training/test split
• Training/test curves
• Ajouter d'autres fonctionnalités
• Autres exemples de régression
• Résumé de la régression
3. Agenda 2 : Etude de cas en régression – Approche Technique
• La pratique avec Python
• Charger et explorer les données
• Visualiser les données
• Diviser les données en ensembles de formation et de test
• Construire un modèle de régression simple pour prédire les prix de l'immobilier à partir de la taille de la maison
• Erreur d'évaluation (RMSE) du modèle simple
• Visualisation des prédictions du modèle simple avec Matplotlib
• Inspecter les coefficients du modèle
• Explorer d'autres caractéristiques du data
• Construire un modèle pour prédire les prix des maisons à partir de plus de fonctionnalités
• Application des modèles pour prédire le prix des maisons
5. Prévision des prix des maisons: une étude de cas en régression
• La régression : L'un des outils statistiques les plus largement utilisés.
• Principe : Ensemble de fonctionnalités que nous voulons modéliser afin que les observations associées
changent à mesure que nous modifions les valeurs des fonctionnalités.
• Etude de cas : Prédiction des valeurs des maisons.
• Caractéristiques : taille de la maison, le nombre de chambres , le nombre de salles de bains…
• Observations (données): la valeur du prix de vente de la maison (La variable dépendante ou la réponse)
Les données pour une maison
6. Quel est le but et comment allez-vous l’aborder
• Problématique: Je veux vendre ma maison mais je ne sais pas à combien l’estimer. il est logique de regarder les
autres ventes récentes qui se sont produites dans mon quartier. Je regarde localement, dans la région qui
m'entoure, et je vérifie le prix de vente des autres maisons et leur surface par exemple. Afin de répondre à la
question : cette maison est-elle semblable à la mienne ou non. En tant que statisticien, je vais prendre toutes ces
observations et je vais en faire un complot.
• Nous pouvons constater qu’aucune maison n’a exactement les mêmes caractéristiques.
• Même en élargissant nos critères nous n’avons que deux observations restantes.
7. Régression linéaire: une approche basée sur un modèle
• nous pouvons penser à modéliser la relation entre la superficie de la maison et le prix de vente de la maison. Et pour ce
faire, nous allons utiliser la régression linéaire.
• Ce que nous voulons faire, c'est comprendre la relation entre la surface de la maison et le prix de vente de la maison en
utilisant toutes les observations que nous avons recueillies. le plus simple pour cela, est d’utiliser une ligne appropriée à
travers les données.
• Notre ligne est définie par une interception W0 et une
pente W1.
• W1 est le coefficient de régression et il s’agit d’identifier
l’impact sur le prix de la maison lorsque nous changeons
la valeur de X
• notre interception et notre pente sont les paramètres de
notre modèle
• nous examinons quelle est la distance entre l’observation
réelle est ce que le modèle pourrait prédire
• Nous recherchons la ligne qui permet de minimiser la
perte résiduelle.
• la ligne prédit la meilleure estimation du prix de ma
maison, (réponse ou variable dépendante) en fonction de
la surface (variable indépendante)
8. Ajout d'effets d'ordre supérieur
• approximation quadratique : désormais 3 paramètres, mon ordonnée qui définit où cette courbe se trouve sur
l'axe y. Ensuite, j'ai le terme linéaire de x, enfin un terme supplémentaire qui définit le carré de x. C'est de là que vient le
composant quadratique.
• approche polynomiale:
• Estimation aberrante
10. Training/test split
• Nous avons constaté que l’ajustement polynomial n’était pas satisfaisant même s’il minimise la perte de façon plus
important que les autres approches.
• Nous pouvons donc simuler des prédictions. Pour cela le principe est de supprimer temporairement certaines
observations (maisons). Puis nous allons adapter notre modèle aux autres maisons
• L’objectif est de prédire la valeur des observations supprimées et de comparer ces prévisions avec les valeurs réelles
supprimées préalablement.
11. Training/test split 2
• l'ensemble de formation représente les maisons que nous utilisons pour adapter notre modèle
• le jeu de tests représente les maisons que nous utilisons comme « proxy » pour nos prédictions.
• La première chose que nous pouvons faire est de minimiser l'erreur de formation (fig1)
• Ensuite nous pouvons donner notre prédiction sur les observations supprimés (fig2)
• Reste à savoir comment évoluent nos erreurs en fonction du type du modèle
Fig1 Fig2
12. Training/test Curves
• Training Curve : Pour chaque modèle, comme le modèle linéaire, le modèle quadratique, etc. nous allons
optimiser et trouver les paramètres du modèle linéaire. Nous recherchons toutes les lignes possibles en
minimisant l'erreur de formation. Réduire au minimum l'erreur de formation pour tous les aspects de la
répartition quadratique. C'est ainsi que nous avons le modèle.
• Test Curve : L’erreur de test a tendance à diminuer pendant un certain temps mais après un point
l'erreur recommence à augmenter.
13. Ajouter d'autres fonctionnalités
• nous avons supposé que la seule caractéristique pertinente à la valeur de ma maison était la surface. Il peut
y avoir d’autres paramètres comme le nombre de salle de bain par exemple.
• je vais donc tracer chacun de ces points dans l'espace 3D. Cela donne un hyper cube de surface par rapport
aux salles de bain par rapport au prix.
16. Résumé de la régression
• A partir du Training data, utilisation des fonctionnalités (Surface, nombre de salles de bain) avec comme 1er objectif
l’identification du type de modèle pour conduire à une prédiction du prix de notre maison.
• Dans notre cas , notre modèle d'apprentissage automatique est une régression. En se basant sur les différents paramètres
nous parlons de coefficient de régression
• C’est l’algorithme « machine learning » qui est chargé de trouver l’erreur minimum en itérant sur toutes les observations
présentes dans notre Training Data. On parle d’ajustement des paramètres.
18. Charger et explorer les données
• Importer Graphlab, créer une variable contenant nos données (sales)
• Données : un identifiant, une date, un prix, une surface, un nombre de salle de bain….
19. Visualiser les données
• Visualisation : utilisation de graphlab.canvas
• Données : Axe x, la surface et axe y le prix
• Relation entre le prix et la surface
• Certaines observations sont des outliers (par
exemple plus chères que les autres pour la
même surface)
20. Diviser les données en ensembles de formation et de test
• Question : comment utiliser notre visualisation pour prédire le prix d’une maison en fonction de sa surface
• Création d’une régression « simple » : nous allons diviser les données en formation et en test (80 % pour le training et 20
% pour le test)
• Créez le modèle de régression en utilisant seulement la surface comme caractéristique
21. Construire le modèle de régression
• Graphlab a de nombreux algorithme disponibles pour les régressions
• Nous voulons construire un « square foot prediction model »
• Nous donnons à la fonction de régression les données de formation en entrée, on précise notre cible, le prix et notre
caractéristique, la surface.
22. Erreur d'évaluation (RMSE) du modèle simple
• Nous allons examiner les données de test : la moyenne des prix des maisons dans notre jeu de données test est de 543 054$
• Nous voulons évaluer notre modèle basée sur les données de formation sur les données de test
• L’erreur max sur nos données de test
correspond à notre outlier, c’était prévisible
• Nous obtenons une erreur moyenne assez
elevée le RMSE
23. Visualisation des prédictions du modèle simple avec Matplotlib
• Nous utilisons Matplot pour visualiser les données de test
• Nous utilisons la fonction « predict » pour tracer nos prévisions en fonction des coefficients de régressions calculés dans
sqft_model
24. Explorer d’autres données
• La 1ere information nous donne l’interception de l’axe y
• La 2ème information nous donne le prix moyen au mètre carré
25. Construire un modèle plus élaboré
• Création d’une variable contenant les données à utiliser
• Visualisation de notre jeu de données en incluant uniquement les données sélectionnées
26. Construire un modèle plus élaboré 2
• Utilisation de box plot pour visualiser la relation entre l’emplacement (zipcode) et le prix de la maison
• Le prix moyen est visible via la ligne rouge en fonction du code postal
• Pour le code postal 98004 nous constatons une énorme variabilité des données de 800 000 $ à 4 000 000 $
• Il est évident que la localisation impacte
fortement le prix des maisons
27. Construire un modèle plus élaboré 3
• Question : Comment construire un meilleur modèle en incluant plus d’information
• Nous utilisons une nouvelle fois la fonction de régression de graphlab, avec les données de formation et le prix en tant que
cible. Par contre nous incluons dans notre fonction l’ensemble des données sélectionnées au préalable.
Nous avons à présent deux modèles :
sqft qui utilise une fonctionnalité et
my_feature_model qui en utilise 8
28. Construire un modèle plus élaboré 4
• Il nous faut comparer les performances de nos deux modèles ; nous utilisons la fonction « evaluate »
• Nous utilisons une nouvelle fois la fonction de régression de graphlab, avec les données de formation et le prix en tant que
cible. Par contre nous incluons dans notre fonction l’ensemble des données sélectionnées au préalable.
Nous constatons que l’erreur max a baissé entre nos deux
modèles
Le RMSE (root mean squared error) a également diminué en
ajoutant des fonctionnalités à notre modèle
29. Application des modèles pour prédire le prix des maisons
• Nous choisissons une maison avec un identifiant et nous constatons qu’elle a été vendue 620 000 $
• Nous utilisons nos deux modèles de prédiction et nous constatons que le modèle avec moins de fonctionnalités nous donne
une meilleure prédiction. La maison est « standard » cela est donc normal.
30. Application des modèles pour prédire le prix des maisons
• Nous créons les données d’une maison à partir d’un dictionnaire
• Nous utilisons notre modèle de prédiction