Suponga un conjunto de datos poco estructurados (por ejemplo, tablas web / datos abiertos vinculados), compuestos de muchas fuentes de datos. No existe un esquema común seguido de los datos y cada fuente puede usar atributos de sinónimos para describir los valores (por ejemplo, "nacionalidad" frente a "bornIn").
Mi objetivo es encontrar algunos atributos "importantes" que de alguna manera "definan" las entidades que describen. Entonces, cuando encuentre el mismo valor para tal atributo, sabré que las dos descripciones son más probablemente sobre la misma entidad (por ejemplo, la misma persona).
Por ejemplo, el atributo "apellido" es más discriminatorio que el atributo "nacionalidad".
¿Cómo podría (estadísticamente) encontrar tales atributos que son más importantes que otros?
Una solución ingenua sería tomar el IDF promedio de los valores de cada atributo y convertirlo en el factor de "importancia" del atributo. Un enfoque similar sería contar cuántos valores distintos aparecen para cada atributo.
He visto el término característica o selección de atributos en el aprendizaje automático, pero no quiero descartar los atributos restantes, solo quiero poner pesos más altos a los más importantes.
En realidad, hay más de una pregunta para responder aquí:
Como mencionó Rubens, puede usar métodos de árbol de decisión , específicamente Bosques aleatorios para calcular los atributos más importantes en función de la ganancia de información si ya ha encontrado una manera de identificar cómo etiquetar a una persona.
Sin embargo, si no tiene ninguna información de etiqueta, puede usar alguna vista experta para la selección preliminar de atributos. Después de eso, realiza una clasificación sin supervisión para recuperar sus etiquetas. Por último, puede seleccionar los campos más importantes utilizando Random Forest u otros métodos como Bayesian Belief Networks .
Para lograr todo eso, también necesita un conjunto de datos completo. Si su conjunto de datos está suelto, debe encontrar de forma manual o heurística una forma de acoplar atributos que indiquen lo mismo con diferentes nombres. Además, puede utilizar técnicas de imputación como el método de maximización de expectativas y completar su conjunto de datos. O también puede trabajar con Bayesian Networks y puede dejar los campos faltantes tal como están.
fuente
Muchas técnicas por ahí. Si su sistema de información tiene un atributo de decisión o etiquetas adjuntas, la mejor manera que encontré es usar una reducción de atributos basada en un conjunto aproximado. Echa un vistazo al algoritmo de reducción rápida de Qiang Shen y Richard Jensen.
Si tiene datos sin etiquetar, marque el Análisis de componentes principales (PCA) .
fuente
Solo por eso, después de casi 5 años, pensé que podría compartir lo que realmente usé en mi doctorado para resolver este problema, que no es nuevo, o una contribución de mi doctorado, en caso de que ayude a alguien más.
La medida que utilizamos para seleccionar atributos importantes es la media armónica (también conocida como medida F) entre
support
ydiscriminability
.El soporte de un atributo p es intuitivamente con qué frecuencia las entidades en nuestro conjunto de datos contienen valores para este atributo:
donde instancias (p) es el conjunto de entidades que tienen un valor para p, y | D | es el número de entidades en el conjunto de datos D.
donde valores (p) es el conjunto de valores (distintos, ya que es un conjunto) que el atributo p puede tener en nuestro conjunto de datos. Eso está normalizado por la cantidad de entidades que realmente tienen un valor para este atributo.
En otras palabras, el soporte mide la frecuencia con la que aparece p en el conjunto de datos y la discriminabilidad indica qué tan cerca de ser una "clave" está este atributo.
Para más detalles, puede leer mi disertación (Sección 4.3.2), o puede encontrar una versión más corta en nuestro documento EDBT 2019 (Sección 2).
¡Gracias a todos por sus respuestas constructivas!
fuente