J'essaie d'analyser certaines données que j'ai, mais il y a beaucoup d'incohérences dans mes données.
J'ai une table SQL que j'essaie d'analyser.
Le tableau est un tableau des universités avec la structure suivante: Le name:string, city:string, state:string, country:string
nom est toujours présent mais la ville, l'état, le pays peuvent être manquants. Mon principal problème est qu'il existe une tonne de fautes de frappe et une déclinaison différente d'un nom d'université. Par exemple, voici la déclinaison de Standford Unversity que je trouve quand je le fais SELECT "universities".* FROM "perm_universities" WHERE (name like '%stanford%')
:
stanford university - stanford - ca - united states of america
the leland stanford junior university - stanford - ca - united states of america
leland stanford jr. university - stanford - ca - united states of america
stanford university graduate school of business - stanford - ca - united states of america
the leland stanford junior university (stanford university) - stanford - ca - united states of america
leland stanford junior university - stanford - ca - united states of america
stanford university - stanford - -
leland stanford jr. university, graduate school of business - stanford - ca - united states of america
stanford law school - stanford - ca - united states of america
stanford - stanford - ca - united states of america
stanford university, graduate school of business - stanford - ca - united states of america
stanford graduate school of business - stanford - ca - united states of america
stanford univerity - stanford - ca - united states of america
stanford university (the leland stanford junior university) - stanford - ca - united states of america
the leland stanford jr. university - palo alto - ca - united states of america
leland stanford junior university, school of law - stanford - ca / n/a - united states of america
stanford universit - stanford - ca - united states of america
the leland stanford university - stanford - ca - united states of america
leland standford stanford junior university - stanford - ca - united states of america
stanford university - cambridge - ma - united states of america
the leland stanford junior university 'stanford university' - stanford - ca - united states of america
stanford university school of law - stanford - ca - united states of america
stanford univresity - stanford - ca - united states of america
the leland stanford jr. university (stanford university) - stanford - ca - united states of america
leeland stanford junior university - stanford - ca - united states of america
leland stanford junion university - - ca - united states of america
leland stanford junior university (stanford university) - stanford - ca - united states of america
the leland stanford junior university - stanford - -
stanford university - graduate school of business - stanford - ca - united states of america
graduate school of business, stanford university - stanford - ca - united states of america
stanford universoty - stanford - ca - united states of america
leland stanford junior university - stanford - -
stanford univeristy - palo alto - ca - united states of america
leland stanford university - palo alto - ca - united states of america
stanford university - stanford - ca / n/a - united states of america
the leland stanford junior university, stanford university - stanford - ca - united states of america
the leland stanford junior university graduate school of business - stanford - ca - united states of america
stanford universtiy - stanford - ca - united states of america
stanford univerisity - stanford - ca - united states of america
stanford university - stanford - ct - united states of america
stanford law scool - stanford - ca - united states of america
mba: stanford university - stanford - ca - united states of america
Ils sont tous la même université, mais certains ont des fautes de frappe, certains ont des noms différents, certains n'ont pas de villes, certains ont les mauvaises villes, ... Les données ne sont pas excellentes.
J'essaie donc de le réparer. Comment puis-je consolider ces données?
Réponses:
Étant donné que cet ensemble de données est déjà organisé dans une table, vous pouvez tirer parti des fonctions SQL standard pour effectuer une grande partie du nettoyage. Un enregistrement semble être composé de 4 champs, par exemple:
Vous pouvez suivre ces étapes pour obtenir une représentation plus nette de cet ensemble de données:
la source
C'est assez difficile à faire sans d'abord structurer votre jeu de données. Il y a une raison pour laquelle les ensembles de données nettoyés coûtent des milliers de dollars car ils essaient de nettoyer ces problèmes pour vous.
Ce que vous pouvez essayer, c'est d'abord créer un système de taxonomie. D'abord, vous donnez au général "Stanford university" un ID de "1". Quelque chose comme «Stanford Graduate School of Business» obtiendrait l'ID «1.2.5», où le nouveau «2» fait référence à la division des études supérieures, «5» se réfère à la catégorie des écoles de commerce. Cela dépend vraiment de votre objectif ultime. En bref, établissez une liste d'ID pour les subdivisions possibles, "Graduate, undergraduate, etc." puis d'autres subdivisions.
Pour les emplacements, vous pouvez généralement définir un emplacement "principal" et "secondaire", c'est-à-dire "Palo Alto" et "Stanford", que vous pouvez déterminer en effectuant un histogramme pour chacun et en sélectionnant les deux premiers.
Pour corriger les fautes d'orthographe, vous pouvez utiliser l'API de recherche Google et exploiter la "Affichage des résultats pour ..." qui vous donnerait l'orthographe correcte.
la source