Conheço alguém que está trabalhando em um projeto que envolve a ingestão de arquivos de dados sem levar em consideração as colunas ou os tipos de dados. A tarefa é obter um arquivo com qualquer número de colunas e vários tipos de dados e gerar estatísticas de resumo nos dados numéricos.
No entanto, ele não tem certeza de como atribuir dinamicamente tipos de dados para determinados dados baseados em números. Por exemplo:
CITY
Albuquerque
Boston
Chicago
Obviamente, esses dados não são numéricos e serão armazenados como texto. Contudo,
ZIP
80221
60653
25525
não estão claramente marcados como categóricos. Seu software atribuiria o CEP como estatísticas numéricas e resumidas de saída, o que não faz sentido para esse tipo de dados.
Algumas idéias que tivemos foram:
- Se uma coluna tiver todos os números inteiros, identifique-a como categórica. Isso claramente não funcionaria, mas era uma ideia.
- Se uma coluna tiver menos de n valores exclusivos e for numérica, identifique-a como categórica. Isso pode estar mais próximo, mas ainda pode haver problemas com a queda de dados numéricos.
- Mantenha uma lista de dados numéricos comuns que realmente devem ser categóricos e compare os cabeçalhos das colunas a esta lista para obter correspondências. Por exemplo, qualquer coisa com "ZIP" seria categórico.
Meu instinto me diz que não há como atribuir com precisão dados numéricos como categóricos ou numéricos, mas esperava uma sugestão. Qualquer visão que você tem é muito apreciada.
fonte
Respostas:
Não conheço uma maneira infalível de fazer isso. Aqui está uma idéia em cima da minha cabeça:
fonte
Se você tem, por exemplo, número de filhos de uma família (que pode variar, por exemplo, entre 0 e 5), é uma variável categórica ou numérica? Na verdade, depende do seu problema e como você pretende resolvê-lo. Nesse sentido, você pode fazer o seguinte:
No caso de valores discretos, um teste adicional pode ser: use um modelo de regressão para estimar alguns dos parâmetros e verifique se os valores estimados estão contidos no conjunto de valores original. Se isso não for verdade, você provavelmente está lidando com dados categóricos (como é o caso do ZIP).
Funcionou relativamente bem para mim no passado ...
fonte
Como esta pergunta foi publicada de forma cruzada, os comentários iniciais de @nickcox no Cross Validated são altamente relevantes e verdadeiros. Minhas opiniões são um pouco diferentes. Por exemplo, eu reformularia a questão, decompondo-a em duas partes: primeiro, há a questão de como alguém classificaria um fluxo de informações desconhecidas por tipo de dados e, segundo, que tipo de taxa de classificação incorreta pode ser esperada. Ambas as perguntas são respondidas imediatamente, se alguém quiser reservar um tempo para fazê-lo.
A primeira questão equivale ao desenvolvimento de um sistema especialista baseado em regras, de acordo com o que foi proposto preliminarmente nos comentários e respostas sobre esses tópicos, usando amostras de dados do mundo real que estão prontamente disponíveis.
Segundo, dado que esses dados do mundo real contêm tipos de dados conhecidos, comparando o erro de classificação.
Uma terceira etapa envolveria a atualização iterativa das regras para refletir com mais precisão as informações que estão sendo transmitidas - na medida do possível.
Na minha opinião, embora tedioso, esse projeto não envolva uma quantidade proibitiva de trabalho.
---- Comentário adicional ----
Uma boa discussão sobre a extração de recursos no que se refere ao processo de geração de dados apareceu no CV aqui:
/stats/191935/what-does-the-process-that-generates-the-data-mean-and-how-does-feature-selec
A extração, seleção de recursos e o DGP é um excelente ponto de partida para o desenvolvimento de um sistema especialista.
fonte