Machine learning #1 Prédiction du prix d’une maison

Original article was published by Cheikh Seck on Artificial Intelligence on Medium


Mais Qu’est ce qu’un modèle de machine learning ?

Un modèle de machine learning c’est un fichier qui a été entrainé pour reconnaitre certains types de structures(pattern). On entraine un modèle sur un ensemble de données en lui fournissant un algorithme qu’il peut utiliser pour raisonner et apprendre à partir de ces données.

L’idée derrière

Imaginez que vous voulez vendre votre maison et vous voulez estimer la valeur de celle ci, à combien pouvez vous vendre votre maison. Ce que nous allons faire c’est nous baser sur des données de votre maison tel que la superficie, le nombre de chambres, le nombre de portes, la localité, le code postal … (que l’on appelera ici features) ainsi que sur les features d’autres maisons qui ont été vendues pour prédire quel est le prix de votre maison (que l’on appelera observation).

Retenez bien, une observation correspond à ce qu’on veut prédire (ici le prix) et les features correspondent aux données que nous utilisons pour le prédire (ici la superficie, le nombre de chambres, le nombre de portes, la localité, …). C’est aussi simple que ça!

Et pour ce faire on va utiliser la Régression.

La Régre … quoi ?

Fuyez pas … je vous explique.

L’idée est très simple. Nous avons certaines features et nous allons voir comment les observations (les prix) associées à ces features évoluent lorsqu’on change les valeur de ces features. Par exemple en ayant une maison de 300 m² avec 3 chambres, un salon, une cuisine et 2 toilettes et coûtant 3000$, nous allons voir quel serait le prix d’une maison si on avait que 2 chambres au lieu de 3 et 200m² au lieu de 300.

L’algorithme pour créer le modèle de régression

Représentation des différentes maisons sur un plan

Supposons que nous avons des données sur des milliers de maisons anciennement achetées. Essayons de faire un modèle capable de prédire le prix d’une maison en se basant sur sa superficie.

Sur la figure ci-dessus, les points en bleu représentent les maisons qui ont eu à être achetés anciennement (ce sont les données sur lesquelles nous allons nous baser pour prédire le prix). L’axe x représente la superficie des maisons et l’axe y les prix des maisons (valeur à prédire).

Il s’agira de tracer une droite passant par le nuage de points, et de s’assurer de minimiser au maximum la distance entre les points et la droite. Il faut pour cela calculer la distance entre chaque point et sa verticale sur la droite comme le montre la figure ci-dessous et redresser cette droite jusqu’à obtenir la distance minimale. Plus la distance est petite, plus on minimise les erreurs de prédiction du modèle.

Distance entre les maison et la droite

A la fin, on obtient une droite d’équation y = ax+b ou y sera la valeur à prédire (le prix) et x sera la superficie de la maison qu’on veut vendre (feature). Vous verrez donc qu’avec une feature (ici la superficie) on obtient une représentation sur le plan. Avec deux features, une représentation dans l’espace (avec un troisième axe z) et au fur et à mesure qu’on augmente le nombre de features il sera difficile voir impossible pour un humain de représenter et de trouver le bon modèle.

Heureusement, nos machines vont calculer pour nous. En effet, dans le domaine du machine learning, il existe ce qu’on appelle des notebooks. C’est des outils utilisés par les gens qui travaillent sur les données (data scientists, data analyst,…) pour explorer, visualiser, collaborer et effectuer des calculs sur les données. Nous allons utiliser le fameux Jupyter notebook disponible sur google colab.

Bien, Nous avons donc dit que nous allons utiliser le notebook Jupyter. Sachez que sur ce notebook, on écrira du texte (pour commenter les differentes étapes de notre prédiction) et du code(pour effectuer les opérations, calculs nécessaires à notre prédiction. Pour faire les choses encore plus facilement, nous allons le combiner avec un autre outil

Turicreate de Apple …

Turicreate est un outil utilisé chez Apple pour créer facilement et rapidement des modèles de prédiction de tous genre. Il permet aujourd’hui de travailler sur d’énormes quantité de données afin de créer des modèles de machine learning de qualité.

Cool non ???

Passons à la pratique !!!

Allons pratiquer tout celà pour créer notre premier système intelligent. Je vous ai préparé un notebook sur google colab qui va vous permettre de visualiser pas à pas la création du modèle de pédiction du prix d’une maison. A la fin vous pourrez utiliser ces éléments théoriques et pratiques pour créer votre propre modèle.

About me …

Je m’appelle Cheikh Seck, je suis passioné de technologie et j’aime partager ce que j’apprends. Retrouvez moi sur Twitter en y recherchant juste @kubectl221