Digamos que estamos prevendo as vendas de uma loja e meus dados de treinamento têm dois conjuntos de recursos:
- Um sobre as vendas da loja com as datas (o campo "Loja" não é exclusivo)
- Um sobre os tipos de loja (o campo "Loja" é exclusivo aqui)
Portanto, a matriz seria algo como isto:
+-------+-----------+------------+---------+-----------+------+-------+--------------+
| 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]
e
+-------+-----------+------------+---------------------+
| 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]
A segunda matriz descreve o tipo de loja, os grupos de itens que cada um deles vende e a distância da loja concorrente mais próxima.
Mas nos meus dados de teste, só tenho informações na primeira matriz sem os campos Customers
e Sales
. O objetivo é prever o campo de vendas, dado o
- Loja
- Dia da semana
- Encontro
- Aberto (se a loja está aberta)
- Promoção (se a loja está tendo uma promoção)
- StateHoliday (se é um feriado do estado)
Posso treinar facilmente um classificador com base nos campos com marcadores acima para prever, Sales
mas como posso usar a segunda matriz nos meus dados de treinamento que não iria obter nos dados de teste?
É lógico supor que a segunda matriz sobre os tipos de loja é estática e posso associá-la facilmente aos dados de teste?
O que acontece se houver falhas no meu conjunto de recursos de dados de teste, digamos que para algumas linhas nos dados de teste, eu não possua os valores "Promo".
Customers
dados são muito específicos para a competição. Se você não tiver certeza de como lidar com os valores ausentes em geral para ML (comoPromo
valores vazios ), pode valer a pena alterar essa pergunta para tratar apenas desse problema. Já existem algumas respostas sobre isso neste site, por exemplo: datascience.stackexchange.com/questions/8322/…Respostas:
Use os recursos extras para aprendizado não supervisionado. Você pode apreciar a opinião de Vladimir Vapnik sobre isso no contexto dos SVMs, que ele chama de aprendizado privilegiado: Aprendendo com o professor inteligente: controle de similaridade e transferência de conhecimento
fonte
Eu acho que pode haver um problema na maneira como você está declarando o problema. Você diz que os dados de teste não têm dois campos, mas isso não pode estar correto.
Você precisa pegar todos os seus dados e dividi-los em 2 grupos, o conjunto de treinamento e o conjunto de teste. Em uma proporção de 80% -20% ou 70% -30%. Em seguida, você treina seu algoritmo com os dados no conjunto de treinamento e testa a precisão do modelo com os dados no conjunto de testes.
A precisão obtida é a probabilidade de o seu modelo estar correto. Ou, dito de outra maneira, da próxima vez que você usar seu modelo para prever uma venda, a precisão é a probabilidade de sua previsão ser real
fonte