Qual das opções abaixo é a correta ao criar um modelo preditivo?
Opção 1:
Primeiro, elimine os preditores obviamente mais ruins e pré-processe os demais, se necessário, treine vários modelos com validação cruzada, escolha os poucos melhores, identifique os principais preditores que cada um usou, depois treine novamente esses modelos com esses preditores e avalie a precisão novamente com a validação cruzada, escolha o melhor e treine-o em todo o conjunto de treinamento usando seus principais preditores e, em seguida, use-o para prever o conjunto de testes.
Opção 2:
Primeiro elimine os preditores obviamente mais ruins, depois processe o restante, se necessário, e use uma técnica de seleção de recursos como a seleção recursiva de recursos (por exemplo, RFE com rf) com validação cruzada, por exemplo, para identificar o número ideal de preditores principais e o que esses preditores , treine diferentes tipos de modelo com validação cruzada e veja qual deles oferece a melhor precisão com os principais preditores identificados anteriormente. Treine o melhor desses modelos novamente com esses preditores no conjunto de treinamento completo e use-o para prever o conjunto de testes.
Respostas:
Achei as duas opções um pouco defeituosas. Portanto, é geralmente (muito amplamente) a aparência de um fluxo de trabalho de modelagem preditiva:
fonte
O local em que a seleção de recursos encontra um local em seu pipeline depende do problema. Se você conhece bem seus dados, pode selecionar recursos com base nesse conhecimento manualmente. Caso contrário - a experiência com os modelos usando validação cruzada pode ser melhor. Reduzir o número de recursos em um priorado com alguma técnica adicional como chi2 ou PCA pode realmente reduzir a precisão do modelo.
Na minha experiência com a classificação de texto com o classificador SGD, por exemplo, deixar todas as centenas de milhares de palavras codificadas como recursos binários trouxe melhores resultados em comparação à redução para alguns milhares ou centenas. O tempo de treinamento é realmente mais rápido com todos os recursos, pois a seleção de recursos é bastante lenta no meu conjunto de ferramentas (sklearn), porque não é estocástico como o SGD.
A multicolinearidade é algo a se observar, mas a interpretabilidade do recurso pode ser igualmente importante.
Em seguida, as pessoas relatam obter o melhor resultado com conjuntos de modelos. Cada modelo captura melhor uma parte específica do espaço da informação que as outras. Isso também o impediria de selecionar os recursos antes de encaixar todos os modelos incluídos no seu conjunto.
fonte