¿Cómo especificar atributos importantes?


15

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.

Respuestas:


16

Una posible solución es calcular la ganancia de información asociada a cada atributo:

Ganancia de información

Inicialmente tiene todo el conjunto de datos y calcula la ganancia de información de cada elemento. El elemento con la mejor ganancia de información es el que debe usar para particionar el conjunto de datos (considerando los valores del elemento). Luego, realice los mismos cálculos para cada elemento (pero los seleccionados), y siempre elija el que mejor describa / diferencie las entradas de su conjunto de datos.

Hay implementaciones disponibles para tales cálculos. Los árboles de decisión generalmente basan su selección de características en las características con la mejor ganancia de información. Puede usar la estructura de árbol resultante para encontrar estos elementos importantes .


¿Es esta entropía? Estoy confundido.
Valentas

Lo siento por la respuesta tardía. Para obtener información es a reducir la entropía global; entonces son básicamente el mismo concepto. Eche un vistazo a la definición de "entropía" y "ganancia de información".
Rubens

7

En realidad, hay más de una pregunta para responder aquí:

  1. Cómo trabajar en datos sin esquema / sueltos / faltantes
  2. Cómo etiquetar a una persona (por lo que entiendo sin supervisión) y crear un identificador
  3. Cómo entrenar a su sistema para que pueda decirle qué atributos debe usar para identificar a la persona

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.


2

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) .


0

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 supporty discriminability.

El soporte de un atributo p es intuitivamente con qué frecuencia las entidades en nuestro conjunto de datos contienen valores para este atributo:

support(p) = |instances(p)|/ |D|, 

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.

discriminability(p) = |values(p)| / |instances(p)|, 

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!

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.