¿Cuáles son algunos enfoques para clasificar datos con un número variable de características?
Como ejemplo, considere un problema donde cada punto de datos es un vector de puntos xey, y no tenemos el mismo número de puntos para cada instancia. ¿Podemos tratar cada par de puntos x e y como una característica? ¿O deberíamos resumir los puntos de alguna manera para que cada punto de datos tenga un número fijo de características?
machine-learning
missing-data
jergason
fuente
fuente
Respuestas:
Puede tratar estos puntos como perdidos --- es decir. supongamos que el vector tiene como máximo 20 (x, y) pares y un punto particular tiene 5 (x, y) pares, en este caso trate el resto de pares como faltantes, y luego aplique los procedimientos estándar para los parámetros faltantes:
Estos procedimientos estándar pueden ser:
Pero como puntos @jonsca --- si la presencia de ausencia de un punto dado ayuda a clasificar los datos, por ejemplo, debe construir un par de modelos, cada uno de ellos modela instancias con un número particular de puntos.
fuente
Según entiendo su pregunta, los puntos en los datos son intercambiables y no vienen con ningún orden, es decir, tiene un conjunto de puntos para cada ejemplo. Esta configuración es diferente de la configuración de "Valor perdido" que jb. descrito.
Conozco dos métodos comúnmente utilizados para este problema, que en realidad se basan en sus ideas. Una buena línea de base probablemente sería promediar todos los puntos dentro de un ejemplo, pero eso generalmente no funciona bien.
Para agregar múltiples puntos a una sola característica, las representaciones de bolsa de palabras (o bolsa de características) se usan con bastante frecuencia, por ejemplo, en la visión por computadora. La idea es agrupar todos los puntos en su conjunto de entrenamiento (usando, por ejemplo, k-means) y luego describir cada punto por su grupo. Para cada ejemplo, obtiene un histograma sobre los grupos que ocurren con qué frecuencia.
Para usar todos los pares de puntos, puede utilizar los núcleos establecidos. Esto podría funcionar mejor con el uso de SVM, pero probablemente también funcionará con cualquier algoritmo de aprendizaje que se pueda kernelizar o utilizar una función de compatibilidad entre entradas. Los núcleos de conjuntos son básicamente una forma de calcular la similitud de dos conjuntos de características, como en su configuración.
fuente