SlideShare une entreprise Scribd logo
1  sur  30
MACHINE LEARNING
étude de cas en régression
SOURCE WEB
TOULOUSE, JUNE 2017
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
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
Modélisation de la régression linéaire
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
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.
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)
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
Evaluation du modèle de régression
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.
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
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.
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.
Autres exemples de régression
Résumé de la régression
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.
La régression en pratique avec Python
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….
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)
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
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.
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
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
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é
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
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
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
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
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.
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

Contenu connexe

Tendances

BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 
Segmentation d'un fichier client | Machine Learning
Segmentation d'un fichier client | Machine LearningSegmentation d'un fichier client | Machine Learning
Segmentation d'un fichier client | Machine LearningFUMERY Michael
 
Introduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesIntroduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesGiorgio Pauletto
 
La prédiction du churn client dans le domaine du telecom
La prédiction du churn client dans le domaine du telecomLa prédiction du churn client dans le domaine du telecom
La prédiction du churn client dans le domaine du telecomIsmail Sanni
 
regression_logistique.pdf
regression_logistique.pdfregression_logistique.pdf
regression_logistique.pdfSidiAbdallah1
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Les 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningLes 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningHakim Nasaoui
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data MiningTakfarinas KENOUCHE
 
Chapitre2_fragmentation_Abdali.pptx
Chapitre2_fragmentation_Abdali.pptxChapitre2_fragmentation_Abdali.pptx
Chapitre2_fragmentation_Abdali.pptxAimadBenzakry
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisionsMariem Chaaben
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision Yassine Badri
 
Les algorithmes de génération des règles d association
Les algorithmes de génération des règles d associationLes algorithmes de génération des règles d association
Les algorithmes de génération des règles d associationHajer Trabelsi
 
Clustering: Méthode hiérarchique
Clustering: Méthode hiérarchiqueClustering: Méthode hiérarchique
Clustering: Méthode hiérarchiqueYassine Mhadhbi
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine LearningMathieu Goeminne
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionMohamed Heny SELMI
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction généraleMohamed Heny SELMI
 

Tendances (20)

5.5 Clustering
5.5 Clustering5.5 Clustering
5.5 Clustering
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Base des données réparties
Base des données répartiesBase des données réparties
Base des données réparties
 
Segmentation d'un fichier client | Machine Learning
Segmentation d'un fichier client | Machine LearningSegmentation d'un fichier client | Machine Learning
Segmentation d'un fichier client | Machine Learning
 
Introduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes StatistiquesIntroduction au Data Mining et Méthodes Statistiques
Introduction au Data Mining et Méthodes Statistiques
 
La prédiction du churn client dans le domaine du telecom
La prédiction du churn client dans le domaine du telecomLa prédiction du churn client dans le domaine du telecom
La prédiction du churn client dans le domaine du telecom
 
regression_logistique.pdf
regression_logistique.pdfregression_logistique.pdf
regression_logistique.pdf
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Les 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learningLes 10 plus populaires algorithmes du machine learning
Les 10 plus populaires algorithmes du machine learning
 
Présentation sur le Data Mining
Présentation sur le Data MiningPrésentation sur le Data Mining
Présentation sur le Data Mining
 
Algorithme knn
Algorithme knnAlgorithme knn
Algorithme knn
 
Chapitre2_fragmentation_Abdali.pptx
Chapitre2_fragmentation_Abdali.pptxChapitre2_fragmentation_Abdali.pptx
Chapitre2_fragmentation_Abdali.pptx
 
Les arbres de décisions
Les arbres de décisionsLes arbres de décisions
Les arbres de décisions
 
Exercice arbre de décision
Exercice arbre de décision Exercice arbre de décision
Exercice arbre de décision
 
Td dw1
Td dw1Td dw1
Td dw1
 
Les algorithmes de génération des règles d association
Les algorithmes de génération des règles d associationLes algorithmes de génération des règles d association
Les algorithmes de génération des règles d association
 
Clustering: Méthode hiérarchique
Clustering: Méthode hiérarchiqueClustering: Méthode hiérarchique
Clustering: Méthode hiérarchique
 
Introduction au Machine Learning
Introduction au Machine LearningIntroduction au Machine Learning
Introduction au Machine Learning
 
Data mining - Classification - arbres de décision
Data mining - Classification - arbres de décisionData mining - Classification - arbres de décision
Data mining - Classification - arbres de décision
 
Data mining - Introduction générale
Data mining - Introduction généraleData mining - Introduction générale
Data mining - Introduction générale
 

Similaire à Etude de cas machine learning - Semaine 1 (sur 24)

Progression Maths TS
Progression Maths TSProgression Maths TS
Progression Maths TSvauzelle
 
resampling_evaluation.pdf
resampling_evaluation.pdfresampling_evaluation.pdf
resampling_evaluation.pdfSidiAbdallah1
 
Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfnesrinetaamallah
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdfMouloudi1
 
Le cout du_travail___labour_cost
Le cout du_travail___labour_costLe cout du_travail___labour_cost
Le cout du_travail___labour_costFathi KHEBAB
 
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...Jedha Bootcamp
 
Outils d'aides à la décision multicritere
Outils d'aides à la décision multicritereOutils d'aides à la décision multicritere
Outils d'aides à la décision multicriteremahraznajib
 
Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...
Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...
Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...Minitab, LLC
 
Marketing et Big Data
Marketing et Big DataMarketing et Big Data
Marketing et Big DataJeremy Greze
 
Visual Transformer Overview
Visual Transformer OverviewVisual Transformer Overview
Visual Transformer OverviewDr Hajji Hicham
 
TP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineTP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineBoubaker KHMILI
 
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?Benoit Fillon
 
chapitre 1 programmation linéaire.pdf
chapitre 1 programmation linéaire.pdfchapitre 1 programmation linéaire.pdf
chapitre 1 programmation linéaire.pdfolfaharrabi2
 
Cours ML et Deep Learning M2 2022-2023.pdf
Cours ML et Deep Learning M2 2022-2023.pdfCours ML et Deep Learning M2 2022-2023.pdf
Cours ML et Deep Learning M2 2022-2023.pdfUrbainNgatoua
 

Similaire à Etude de cas machine learning - Semaine 1 (sur 24) (20)

33_1180.pdf
33_1180.pdf33_1180.pdf
33_1180.pdf
 
P15 Eda05 V D
P15 Eda05 V DP15 Eda05 V D
P15 Eda05 V D
 
Progression Maths TS
Progression Maths TSProgression Maths TS
Progression Maths TS
 
resampling_evaluation.pdf
resampling_evaluation.pdfresampling_evaluation.pdf
resampling_evaluation.pdf
 
PLNE.pptx
PLNE.pptxPLNE.pptx
PLNE.pptx
 
Ch6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdfCh6 Introduction à la Science de Données.pdf
Ch6 Introduction à la Science de Données.pdf
 
optimisation cours.pdf
optimisation cours.pdfoptimisation cours.pdf
optimisation cours.pdf
 
Le cout du_travail___labour_cost
Le cout du_travail___labour_costLe cout du_travail___labour_cost
Le cout du_travail___labour_cost
 
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...
Convaincre grâce aux données - Kent Aquereburu Data Scientist chez Société Gé...
 
Outils d'aides à la décision multicritere
Outils d'aides à la décision multicritereOutils d'aides à la décision multicritere
Outils d'aides à la décision multicritere
 
Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...
Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...
Nouveautes Minitab-Integration Python, Arbres de decision, Validation de mode...
 
Marketing et Big Data
Marketing et Big DataMarketing et Big Data
Marketing et Big Data
 
C# 7 - Nouveautés
C# 7 - NouveautésC# 7 - Nouveautés
C# 7 - Nouveautés
 
Visual Transformer Overview
Visual Transformer OverviewVisual Transformer Overview
Visual Transformer Overview
 
Proportionnalité1
Proportionnalité1Proportionnalité1
Proportionnalité1
 
TP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage MachineTP Fouille de données (Data Mining) et Apprentissage Machine
TP Fouille de données (Data Mining) et Apprentissage Machine
 
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
MasterClass SQL : Comment avoir de bonnes performances avec SQL Server ?
 
chapitre 1 programmation linéaire.pdf
chapitre 1 programmation linéaire.pdfchapitre 1 programmation linéaire.pdf
chapitre 1 programmation linéaire.pdf
 
Cours ML et Deep Learning M2 2022-2023.pdf
Cours ML et Deep Learning M2 2022-2023.pdfCours ML et Deep Learning M2 2022-2023.pdf
Cours ML et Deep Learning M2 2022-2023.pdf
 
Analyzing a churn data set
Analyzing a churn data set Analyzing a churn data set
Analyzing a churn data set
 

Etude de cas machine learning - Semaine 1 (sur 24)

  • 1. MACHINE LEARNING étude de cas en régression SOURCE WEB TOULOUSE, JUNE 2017
  • 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
  • 4. Modélisation de la régression linéaire
  • 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
  • 9. Evaluation du modèle de régression
  • 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.
  • 14. Autres exemples de régression
  • 15. Résumé de la régression
  • 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.
  • 17. La régression en pratique avec Python
  • 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