Supposons un ensemble de données peu structurées (par exemple, des tables Web / des données ouvertes liées), composées de nombreuses sources de données. Il n'y a pas de schéma commun suivi par les données et chaque source peut utiliser des attributs de synonymes pour décrire les valeurs (par exemple "nationalité" vs "bornIn").
Mon objectif est de trouver des attributs "importants" qui "définissent" en quelque sorte les entités qu'ils décrivent. Ainsi, lorsque je trouverai la même valeur pour un tel attribut, je saurai que les deux descriptions concernent très probablement la même entité (par exemple la même personne).
Par exemple, l'attribut "lastName" est plus discriminant que l'attribut "nationalité".
Comment pourrais-je (statistiquement) trouver de tels attributs qui sont plus importants que d'autres?
Une solution naïve serait de prendre l'IDF moyen des valeurs de chaque attribut et d'en faire le facteur "importance" de l'attribut. Une approche similaire consisterait à compter le nombre de valeurs distinctes qui apparaissent pour chaque attribut.
J'ai vu le terme fonctionnalité ou sélection d'attributs dans l'apprentissage automatique, mais je ne veux pas supprimer les attributs restants, je veux simplement attribuer des poids plus élevés aux plus importants.
En fait, il y a plus d'une question à répondre ici:
Comme Rubens l'a mentionné, vous pouvez utiliser des méthodes d' arbre de décision , en particulier les forêts aléatoires pour calculer les attributs les plus importants en fonction du gain d'informations si vous avez déjà trouvé un moyen d'identifier comment étiqueter une personne.
Cependant, si vous ne disposez d'aucune information d'étiquette, vous pouvez peut-être utiliser une vue experte pour la sélection préliminaire des attributs. Après cela, vous effectuez une classification non supervisée afin de récupérer vos étiquettes. Enfin, vous pouvez sélectionner les champs les plus importants en utilisant la forêt aléatoire ou d'autres méthodes comme les réseaux de croyances bayésiennes .
Pour y parvenir, vous avez également besoin d'un ensemble de données complet. Si votre ensemble de données est lâche, vous devez trouver manuellement ou heuristiquement un moyen de coupler les attributs indiquant la même chose avec des noms différents. De plus, vous pouvez utiliser des techniques d' imputation telles que la méthode de maximisation des attentes et compléter votre ensemble de données. Ou vous pouvez également travailler avec les réseaux bayésiens et laisser les champs manquants tels quels.
la source
Beaucoup de techniques là-bas. Si votre système d'information a un attribut de décision ou des étiquettes attachées, la meilleure façon que j'ai trouvée est d'utiliser une réduction d'attribut basée sur un ensemble approximatif. Découvrez l'algorithme de réduction rapide de Qiang Shen et Richard Jensen.
Si vous avez des données sans étiquette, vérifiez l' analyse des composants principaux (PCA) .
la source
Juste pour le plaisir, après presque 5 ans, j'ai pensé que je pourrais partager ce que j'ai réellement utilisé dans mon doctorat pour résoudre ce problème, qui n'est pas nouveau, ou une contribution de mon doctorat, au cas où cela aiderait quelqu'un d'autre.
La mesure que nous avons utilisée pour sélectionner les attributs importants est la moyenne harmonique (aka F-mesure) entre
support
etdiscriminability
.La prise en charge d'un attribut p est intuitivement la fréquence à laquelle les entités de notre ensemble de données contiennent des valeurs pour cet attribut:
où instances (p) est l'ensemble des entités qui ont une valeur pour p, et | D | est le nombre d'entités dans l'ensemble de données D.
où valeurs (p) est l'ensemble des valeurs (distinctes, puisqu'il s'agit d'un ensemble) que l'attribut p peut avoir dans notre ensemble de données. Cela est normalisé par le nombre d'entités qui ont réellement une valeur pour cet attribut.
En d'autres termes, le support mesure la fréquence à laquelle p apparaît dans l'ensemble de données et la discriminabilité indique à quel point cet attribut est proche d'être une "clé".
Pour plus de détails, vous pouvez lire ma thèse (section 4.3.2), ou vous pouvez trouver une version plus courte dans notre article EDBT 2019 (section 2).
Merci à tous pour vos réponses constructives!
la source