Les data scientists doivent 80% de leur temps à nettoyer leurs données. Les causes de la mauvaise qualité des données sont multiples. Quand la saisie est libre, les erreurs d’orthographe sont fréquentes. La correction de ces erreurs peut être consommatrice du temps. Le premier réflexe est souvent de repérer les erreurs commises et corriger. Si pour une petite quantité d’erreurs, il semble rapide de corriger à la main, il n’est pas viable de le faire pour une grande quantité de donnée. Ainsi, il est souvent préférable d’adopter une solution automatisée dès que possible.
Prenons l’exemple des adresses non normalisées: on peut écrire “bld” pour “boulevard”. On peut repérer tous les “bld” et les corriger. Mais le problème, c’est que certains écrivent “blvd”. Puis pour “avenue”, on peut trouver “av”, “ave”, “aven”, “avenu” et d’autres erreurs grossières.
On peut calculer la distance entre deux mots. Une façon de compter peut être la suivante:
Par exemple,
Pour automatiser la correction, on peut procéder aux étapes suivantes:
Imaginons le cas suivant:
On voit que selon les cas, on peut choisir le bon type de distance pour mieux traiter nos erreurs.
Si on n’a pas des données de référence, on peut faire une segmentation des mots.
Un autre exemple de manipulation des adresses est l’extraction des codes postaux. On a un ensemble d’adresses avec numéro de rue, nom de rue, code postal et ville dans une même chaîne de caractères. Si on veut extraire le code postal à la main, la tâche peut s’avérer très consommatrice de temps.
noms | adresse |
---|---|
McDonald’s AMBERIEU | Rue Alexandre Bérard 01500 AMBERIEU EN BUGEY |
McDonald’s BELLEY | Rond-point RN504 01300 BELLEY |
McDonald’s BEYNOST | ZAC des Baterses 01700 BEYNOST |
McDonald’s BOURG EN BRESSE | 8-10 Avenue des Sports 01000 BOURG EN BRESSE |
McDonald’s CHATILLON EN MICHAILLE | Avenue De Lattre de Tassigny 01200 CHATILLON EN MICHAILLE |
McDonald’s FERNEY VOLTAIRE | Route de Meyrin 01210 FERNEY VOLTAIRE |
On peut utiliser R pour le faire automatiquement.
noms | adresse | cp |
---|---|---|
McDonald’s AMBERIEU | Rue Alexandre Bérard 01500 AMBERIEU EN BUGEY | 01500 |
McDonald’s BELLEY | Rond-point RN504 01300 BELLEY | 01300 |
McDonald’s BEYNOST | ZAC des Baterses 01700 BEYNOST | 01700 |
McDonald’s BOURG EN BRESSE | 8-10 Avenue des Sports 01000 BOURG EN BRESSE | 01000 |
McDonald’s CHATILLON EN MICHAILLE | Avenue De Lattre de Tassigny 01200 CHATILLON EN MICHAILLE | 01200 |
McDonald’s FERNEY VOLTAIRE | Route de Meyrin 01210 FERNEY VOLTAIRE | 01210 |
Aussi, il est possible de séparer tous les éléments de l’adresse.
Copyright © 2016 Blog de Kezhan Shi