Bonjour à tous !
Je viens vous poser des petites questions car pour un petit projet personnel, sur mon temps libre, j’essaie d’utiliser le machine learning.
Bien qu’ayant une formation scientifique, je suis loin de tout comprendre et je ne fais pour l’instant que bêtement appliquer des méthodes, et c’est peut-être de là que vient mon problème.
Quel est-il justement ?
Je dispose, sur une population anonymisée, des informations suivantes :
- Un score indiquant le niveau d’éducation de la personne (ce score est un flottant, plus il est élevé, plus la personne est éduquée)
- Un score indiquant la "respectabilité" d’une personne, calculé à partir de ses centres d’intérêt. Idem, plus il est élevé, plus la personne est "respectable"
(Je mets des guillemets autour de tout ça, je ne dis pas que c’est une bonne chose ou non de juger de la qualité des personnes par un score, et j’aimerais éviter un débat là-dessus, c’est vraiment un projet personnel pour apprendre).
Ces deux scores sont mes input sur la population.
Ce que je cherche à calculer (l’output), c’est la capacité de la personne à rembourser un crédit. J’ai donc un score d’output, que je cherche à prédire : 1 si la personne a remboursé sa dette, 0 sinon.
Le problème me semble donc relativement simple (en termes d’input/output) pour pouvoir appliquer du machine learning et tester des choses dessus.
Ce que j’ai fait jusqu’à présent, c’est de suivre ce tutoriel. Il m’a permis de découvrir l’application du machine learning.
Notamment, dans les dernières étapes, j’ai pu déterminer quel algorithme convenait le mieux pour mon problème, et c’est la méthode des KNN qui m’a donné les meilleurs résultats, et que j’utilise donc maintenant.
Néanmoins (on arrive enfin à mon problème), quelque chose me tracasse. En effet, j’obtiens avec cet algorithme, en fonction de la division entre données d’entraînement et de test, un score de précision compris généralement entre 80 et 90%. C’est certes très bien.
Sauf que mes données sont réparties de la façon suivante :
- 88 % de personnes ayant honoré leur emprunt
- 12 % de personnes ne l’ayant pas fait
Du coup je me dis la chose suivante : si je prends un algorithme qui attribue systématiquement la prédiction "1", je vais prédire juste dans 88% des cas, et pourtant je n’aurai en fait rien prédit.
C’est donc là ton mon problème : est-ce "normal" d’obtenir de tels scores ? Est-ce que le problème pourrait venir de mes données ? De la façon dont je traite le problème ? Bref, je suis un peu perdu.
Je suis preneur de toutes pistes que vous pourrez me donner pour m’améliorer. Je rappelle que j’applique bêtement ce que j’ai trouvé et le problème vient certainement de là ^^'
Merci de m’avoir lu en tout cas.