PetitCalgonC'est quand même rigolo que les biais existent aussi dans les algorithmes.
C'est donc pas un défaut de matériel, c'est un défaut de préparation des données.
Il faut faire une IA pour chaque ville, avec sa répartition colorimétrique de personnes.
C'est un problème classique en machine learning (et en datamining de façon plus générale), où une mauvaise répartition de la quantité de données pour chaque valeur de la classe cible induit un biais important.
Corriger l'algorithme en l'entrainant en tenant compte de la répartition "colorimétrique" dans chaque ville ne va pas aider, il faut juste entrainer l'algorithme avec un même nombre de personnes de chaque couleur, et mesurer les résultats couleur par couleur, plutôt que de mesurer l'algorithme globalement.
Quand je donnais un cours à ce sujet, j'insistais toujours sur la bonne préparation des données, une étape importante en machine learning, bien plus que de choisir le "bon algorithme". Je leur montrais toujours l'exemple d'un algo de prédiction de la "survie" d'un passager du Titanic : l'algo le plus naif, qui dit "tout le monde meurt", obtenait des résultats exceptionnellement bons, surtout en comparaison des algorithmes plus puissants. La raison est simple : le jeu de données d'entrainement comportait davantage de "morts" que de survivants ! Les algo plus complexes n'étaient pas fondamentalement meilleurs, car ils étaient "overfittés" pour le jeu d'entrainement (on s'en rend vite compte dès qu'on fait une cross-validation plutôt qu'une validation naïve en split ou même en train set, ce qui n'a pas beaucoup d'intérêt d'ailleurs
).