Conozco a alguien que está trabajando en un proyecto que implica ingerir archivos de datos sin tener en cuenta las columnas o los tipos de datos. La tarea es tomar un archivo con cualquier número de columnas y varios tipos de datos y generar estadísticas de resumen de los datos numéricos.
Sin embargo, no está seguro de cómo asignar dinámicamente tipos de datos para ciertos datos basados en números. Por ejemplo:
CITY
Albuquerque
Boston
Chicago
Obviamente, estos no son datos numéricos y se almacenarán como texto. Sin embargo,
ZIP
80221
60653
25525
no están claramente marcados como categóricos. Su software asignaría el código postal como estadísticas de resumen numérico y de salida, lo que no tiene sentido para ese tipo de datos.
Un par de ideas que tuvimos fueron:
- Si una columna es todos enteros, etiquétela como categórica. Esto claramente no funcionaría, pero fue una idea.
- Si una columna tiene menos de n valores únicos y es numérica, etiquétela categórica. Esto podría estar más cerca, pero aún podría haber problemas con la caída de los datos numéricos.
- Mantenga una lista de datos numéricos comunes que en realidad deberían ser categóricos y compare los encabezados de columna con esta lista para las coincidencias. Por ejemplo, cualquier cosa con "ZIP" sería categórico.
Mi instinto me dice que no hay forma de asignar con precisión los datos numéricos como categóricos o numéricos, pero esperaba una sugerencia. Cualquier idea que tenga es muy apreciada.
fuente
Respuestas:
No conozco una manera infalible de hacer esto. Aquí hay una idea fuera de mi cabeza:
fuente
Si tiene, por ejemplo, el número de hijos de una familia (que podría oscilar, por ejemplo, entre 0 y 5), ¿es una variable categórica o numérica? En realidad, depende de su problema y de cómo piensa resolverlo. En este sentido, puede hacer lo siguiente:
En caso de valores discretos, una prueba adicional podría ser: usar un modelo de regresión para estimar algunos de los parámetros y verificar si los valores estimados están contenidos en el conjunto original de valores. Si esto no es cierto, probablemente esté tratando con datos categóricos (como es el caso de ZIP).
Funcionó relativamente bien para mí en el pasado ...
fuente
Dado que esta pregunta se ha publicado en forma cruzada, los comentarios iniciales de @nickcox en Cross Validated son muy relevantes y verdaderos. Mis puntos de vista son ligeramente diferentes. Por ejemplo, volvería a formular la pregunta, descomponiéndola en dos partes: primero, está la cuestión de cómo se clasificaría un flujo de información desconocida por tipo de datos y, segundo, qué tipo de tasa de clasificación errónea se puede esperar. Ambas preguntas son inmediatamente respondibles, si alguien quiere tomarse el tiempo para hacerlo.
La primera cuestión equivale a desarrollar un sistema experto basado en reglas en la línea de lo que se ha propuesto preliminarmente en los comentarios y respuestas en estos hilos utilizando muestras de datos del mundo real que están fácilmente disponibles.
Segundo, dado que estos datos del mundo real contienen tipos de datos conocidos, comparando el error de clasificación.
Un tercer paso implicaría actualizar iterativamente las reglas para reflejar con mayor precisión la información que se está pasando, en la medida en que esto sea posible.
En mi opinión, aunque tedioso, tal proyecto no implicaría una cantidad prohibitiva de trabajo.
---- Comentario adicional ----
Una buena discusión sobre la extracción de características en relación con el proceso de generación de datos apareció en CV aquí:
/stats/191935/what-does-the-process-that-generates-the-data-mean-and-how-does-feature-selec
La extracción de características, la selección y el DGP son un excelente punto de partida para desarrollar un sistema experto.
fuente