Régression logistique et convexité

La régression logistique est un modèle de classification binaire, simple à interpréter mais limité dans la gamme des problèmes qu'il peut résoudre. Limité comment ?

Un jeu de données

Non convexe.

Deux modèles

Comparons une régression logistique avec un arbre de décision.

L'arbre de décision est beaucoup plus performant.

La régression logistique est clairement moins performante mais pour la défendre, elle ne peut représenter qu'une partition convexe de l'espace des features. Autrement dit, si les classes à apprendre ne sont pas convexes, la régression logistique ne peut pas les modéliser. Deux options alors : soit changer pour un autre modèle non linéaire, soit ajouter des variables de telles sortes dans l'espace des features étendues, ce problèmes deviennent un problème de classes convexe.

Utilisation des k-means

Et si on appliquait un k-means sur chacune des classes... C'est comme si on divisait chacune des classes en petits bouts convexes. Voyons jusqu'ou cela nous mène... Cette variante est implémentée en un seul modèle dans le module mlinsights et illustrée dans le notebook LogisticRegression and Clustering.

Chaque classe a été coupée en deux. Les frontières ne sont plus linéaires car la régression logistique opère sur les distances aux clusters et non sur les variables elles-mêmes. Le code relatif à l'apprentissage est ici : ClassifierAfterKMeans.fit.