Digamos que estamos prediciendo las ventas de una tienda y mis datos de entrenamiento tienen dos conjuntos de características:
- Uno sobre las ventas de la tienda con las fechas (el campo "Tienda" no es único)
- Uno sobre los tipos de tienda (el campo "Tienda" es único aquí)
Entonces la matriz se vería así:
+-------+-----------+------------+---------+-----------+------+-------+--------------+
| Store | DayOfWeek | Date | Sales | Customers | Open | Promo | StateHoliday |
+-------+-----------+------------+---------+-----------+------+-------+--------------+
| 1 | 5 | 2015-07-31 | 5263.0 | 555.0 | 1 | 1 | 0 |
| 2 | 5 | 2015-07-31 | 6064.0 | 625.0 | 1 | 1 | 0 |
| 3 | 5 | 2015-07-31 | 8314.0 | 821.0 | 1 | 1 | 0 |
| 4 | 5 | 2015-07-31 | 13995.0 | 1498.0 | 1 | 1 | 0 |
| 5 | 5 | 2015-07-31 | 4822.0 | 559.0 | 1 | 1 | 0 |
| 6 | 5 | 2015-07-31 | 5651.0 | 589.0 | 1 | 1 | 0 |
| 7 | 5 | 2015-07-31 | 15344.0 | 1414.0 | 1 | 1 | 0 |
| 8 | 5 | 2015-07-31 | 8492.0 | 833.0 | 1 | 1 | 0 |
| 9 | 5 | 2015-07-31 | 8565.0 | 687.0 | 1 | 1 | 0 |
| 10 | 5 | 2015-07-31 | 7185.0 | 681.0 | 1 | 1 | 0 |
+-------+-----------+------------+---------+-----------+------+-------+--------------+
[986159 rows x 4 columns]
y
+-------+-----------+------------+---------------------+
| Store | StoreType | Assortment | CompetitionDistance |
+-------+-----------+------------+---------------------+
| 1 | c | a | 1270 |
| 2 | a | a | 570 |
| 3 | a | a | 14130 |
| 4 | c | c | 620 |
| 5 | a | a | 29910 |
| 6 | a | a | 310 |
| 7 | a | c | 24000 |
| 8 | a | a | 7520 |
| 9 | a | c | 2030 |
| 10 | a | a | 3160 |
+-------+-----------+------------+---------------------+
[1115 rows x 4 columns]
La segunda matriz describe el tipo de tienda, los grupos de artículos surtidos que cada uno vende y la distancia desde la tienda competidora más cercana.
Pero en mis datos de prueba, solo tengo información en la primera matriz sin los campos Customers
y Sales
. El objetivo es predecir el campo de ventas dado el
- Tienda
- Día de la semana
- Fecha
- Abierto (si la tienda está abierta)
- Promo (si la tienda tiene una promoción)
- StateHoliday (si es un feriado estatal)
Puedo entrenar fácilmente un clasificador basado en los campos con viñetas anteriores para predecir, Sales
pero ¿cómo puedo usar la segunda matriz en mis datos de entrenamiento que no obtendría en los datos de prueba?
¿Es lógico suponer que la segunda matriz sobre los tipos de Tienda es estática y puedo unirla fácilmente a los datos de prueba?
¿Qué sucede si hay agujeros en mi conjunto de características de datos de prueba? Digamos que para algunas filas en los datos de prueba, no tengo los valores "Promo".
Customers
datos son muy específicos de la competencia. Si no está seguro de cómo lidiar con los valores faltantes en general para ML (como losPromo
valores vacíos ), podría valer la pena cambiar esta pregunta para que se trate solo de ese problema. Ya hay algunas respuestas al respecto en este sitio, por ejemplo, datascience.stackexchange.com/questions/8322/…Respuestas:
Use las funciones adicionales para el aprendizaje sin supervisión. Puede disfrutar de la versión de Vladimir Vapnik sobre esto en el contexto de SVM, que él llama aprendizaje privilegiado: Aprendizaje con un maestro inteligente: Control de similitud y transferencia de conocimiento
fuente
Creo que puede haber un problema en la forma en que lo estás planteando. Dices que los datos de prueba no tienen dos campos, pero eso no puede ser correcto.
Debe tomar todos sus datos y dividirlos en 2 grupos, el conjunto de entrenamiento y el conjunto de prueba. En una proporción del 80% -20% o 70% -30%. Luego, entrena su algoritmo con los datos del conjunto de entrenamiento y prueba la precisión del modelo con los datos del conjunto de prueba.
La precisión que obtiene es la probabilidad de que su modelo sea correcto. O dicho de otra manera, la próxima vez que use su modelo para predecir una venta, la precisión es la probabilidad de que su predicción sea real.
fuente