Algumas técnicas de modelagem preditiva são mais projetadas para manipular preditores contínuos, enquanto outras são melhores para manipular variáveis categóricas ou discretas. É claro que existem técnicas para transformar um tipo em outro (discretização, variáveis dummy, etc.). No entanto, existem técnicas de modelagem preditiva projetadas para manipular os dois tipos de entrada ao mesmo tempo sem simplesmente transformar o tipo dos recursos? Em caso afirmativo, essas técnicas de modelagem tendem a funcionar melhor em dados para os quais são mais adequados?
A coisa mais próxima que eu conheço seria que geralmente árvores de decisão lidar com dados discretos bem e eles lidam com dados contínuos sem exigir um up front discretização. No entanto, isso não é exatamente o que eu estava procurando, pois efetivamente as divisões em recursos contínuos são apenas uma forma de discretização dinâmica.
Para referência, aqui estão algumas perguntas relacionadas e não duplicadas:
fonte
Respostas:
Até onde eu sei, e eu pesquisei esse problema profundamente no passado, não há técnicas de modelagem preditiva (além de árvores, XgBoost etc.) projetadas para lidar com os dois tipos de entrada ao mesmo tempo sem simplesmente transformar o tipo dos recursos.
Observe que algoritmos como o Random Forest e o XGBoost aceitam uma entrada de recursos mistos, mas eles aplicam alguma lógica para lidar com eles durante a divisão de um nó. Certifique-se de entender a lógica "sob o capô" e de que você está bem com o que está acontecendo na caixa-preta.
No entanto, modelos baseados em distância / kernel (por exemplo, regressão K-NN, NN, máquinas de vetores de suporte) podem ser usados para lidar com espaço de recursos de tipo misto, definindo uma função de distância “especial”. De modo que, para cada recurso, aplique uma métrica de distância apropriada (por exemplo, para um recurso numérico, calcularemos a distância euclidiana de 2 números, enquanto que para um recurso categórico, calcularemos simplesmente a distância de sobreposição de 2 valores de string). Portanto, a distância / semelhança entre o usuário e no recurso , da seguinte forma: se o recurso for categórico, se o recursovocê1 1 você2 fEu d( u1 1, u2)fEu= ( di s - c a t e gou r i c a l ( u1 1, u2)fEu fEu d( u1 1, u2)fEu= di s - n u m e r i c ( u1 1, u2)fEu fEu é numérico. e 1 se o recurso não estiver definido em ou .fEu você1 1 você2
Alguma função de distância conhecida para recursos categóricos:
Distância Levenshtien (ou qualquer forma de "editar distância")
Métrica de subsequência comum mais longa
fonte
Sei que já faz um tempo desde que essa pergunta foi publicada, mas se você ainda está analisando esse problema (ou similares), pode considerar o uso de modelos de aditivos generalizados (GAMs). Não sou especialista, mas esses modelos permitem combinar modelos diferentes para criar uma única previsão. O processo usado para encontrar coeficientes para os modelos que você coloca resolve para todos eles de uma só vez, para que você possa enviar um modelo aditivo generalizado seu modelo favorito para preditores categóricos e seu modelo favorito para preditores contínuos e obter um modelo único que minimize RSS ou qualquer outro critério de erro que você deseja usar.
Em primeiro lugar, o único pacote de software que conheço que implementa os GAMs é a linguagem R, mas tenho certeza de que existem outros.
fonte
Enquanto a discretização transforma dados contínuos em dados discretos, dificilmente se pode dizer que variáveis fictícias transformam dados categóricos em dados contínuos. De fato, como os algoritmos podem ser executados em computadores, dificilmente pode haver um algoritmo classificador que NÃO transforme dados categóricos em variáveis fictícias.
No mesmo sentido, um classificador transforma os preditores em uma variável discreta, indicando pertencer à classe (mesmo que produza uma probabilidade de classe, você finalmente escolhe um ponto de corte). De fato, muitos classificadores, como regressão logística, floresta aleatória, árvores de decisão e SVM, funcionam bem com os dois tipos de dados.
Eu suspeito que seria difícil encontrar um algoritmo que funcione com dados contínuos, mas que não possa manipular dados categóricos. Normalmente, acho que faz mais diferença em que tipo de dados você tem no lado esquerdo do seu modelo.
fonte
Essa é uma questão filosófica profunda, que é comumente abordada no final estatístico e no aprendizado de máquina. Alguns dizem que categorizar é melhor para indicadores discretos a categóricos, para que os pacotes possam digerir facilmente as entradas do modelo. Outros dizem que o binning pode causar perda de informações, mas as variáveis categóricas podem / devem ser convertidas em variáveis de indicador {1,0}, deixando de fora a última classe para os resíduos do modelo.
O livro - Regressão linear aplicada (Kutner et al.) Menciona sobre a lógica da introdução de variáveis indicadoras no modelo nos primeiros capítulos. Também pode haver outro texto semelhante.
Minha opinião sobre isso talvez seja exagerada: se imaginarmos as variáveis categóricas como blocos em um projeto experimental, a variável indicadora é uma extensão natural da análise de dados não baseada em experimentos. No que diz respeito aos algoritmos de mineração de dados (famílias de árvores de decisão), a categorização é inevitável (manualmente ou automatizada), que deve ser alimentada ao modelo.
Portanto, pode não haver um modelo especializado para variáveis numéricas e categóricas da mesma maneira (sem classificação numérica ou uso de indicadores categóricos).
fonte