Prédire les loyers Parisiens, en fonction de la surface et de l’arrondissement

L’article précédent, utilisait un jeu de donnée très simple, contenant uniquement la surface et le prix, cette fois-ci, je m’intéresse en plus du prix et de la surface, à l’arrondissement, et je compte, en plus de réaliser une régression linéaire, voir comment le loyer évolue dans les différents arrondissement de la capitale.

Il est évident que plus la surface est grande, plus le prix augmente, mais qu’en est-il de l’arrondissement ?

Ce violinplot montre que les prix ont plus tendances à s’envoler et à s’écarter de la moyenne dans le 4e et 1er arrondissement, ils sont plus autour de la moyenne dans le dixième arrondissement, et ils sont moins cher en moyenne.

Un diagramme en violon (Violinplot) est similaire à un Boxplot, mais affiche en plus la densité de probabilité, ce qui lui donne la forme d’un violon.

L’affichage précédent, tient compte uniquement de l’arrondissement et du loyer, peut-être que le fait de ne pas tenir compte de la surface est un biais, alors l’idéal est de confirmer ça :

Ce graphique à 3 dimensions, montre comment évoluent les loyers en fonction de la surface et de l’arrondissement, l’intuition précédente sur le 1 et 4e arrondissement se confirme.

Ainsi, selon le modèle :

  • Un 31 m² au 1er arrondissement, le loyer serait : 1362 €
  • Un 31 m² au 10e arrondissement, le loyer serait : 858 €

Code Python :

Reconnaître une écriture manuscrite avec KNN

En intelligence artificielle, la méthode des K plus proches voisins est une méthode d’apprentissage supervisé.

Le nom K-NN ou KNN, vient de l’anglais et signifie k-nearest neighbors.
KNN est adapté à la fois pour les problèmes de classification et de régressions.

Le type d’algorithme qu’utilise KNN est appelé memory-based, car tout le jeu de données doit être conservé en mémoire pour réaliser les prédictions, d’où la lenteur de ce dernier.
À contrario, la régression linéaire est paramétrique, de paramètre θ et ne va donc pas avoir besoin de conserver toutes les données pour effectuer des prédictions, mais seulement θ.

La base de données MNIST (Modified ou Mixed National Institute of Standards and Technology) est une base de données de chiffres écrits à la main. C’est un jeu de données très utilisé en apprentissage automatique.

J’ai donc utilisé cette base de données, ainsi que KNN pour reconnaître les chiffres présents sur les images.
Mais aussi, avant de réaliser les différentes prédictions, j’ai fait en sorte de choisir le meilleur hyper-paramètre K. (Le meilleur étant celui qui obtient le plus faible taux d’erreurs)

Evolution de l’erreur en fonction de K, ici 6 est le paramètre minimisant l’erreur.
On voit que les prédictions réalisées correspondent aux écritures manuscrites !

Code Python :

Prédire les loyers Parisiens avec une régression linéaire

Inutile de rappeler qu’à Paris, les logements sont un vrai parcours du combattant, l’informatique étant un de mes violons d’Ingres, j’ai voulu mettre à l’épreuve la régression linéaire face aux loyers de la capitale.

Pour rappel, un modèle de régression linéaire cherche à établir une relation linéaire (y = ax+b) entre une variable, dite expliquée, et une ou plusieurs variables, dites explicatives.

Le jeu de données utilisé provient d’openclassrooms, et contient 2 informations :

  • La surface du logement
  • Son prix

Ici, la variable expliquée est donc le prix des loyers, et la variable explicative est la surface.

À partir de ces 2 informations, il est possible d’entraîner un modèle, puis de réaliser des estimations du prix, et ce, en fonction de la surface fournie.

On voit clairement que le nuage de points suit un modèle linéaire, c’est-à-dire que le loyer est une fonction de la surface

Ainsi, selon le modèle, un 31m² à Paris devrait coûter 1217€ par mois, en regardant les différentes annonces, pour un modèle prenant en compte uniquement la surface, je trouve que ce n’est pas très loin de la réalité !

Code Python :