Estou trabalhando em um projeto e estou tendo dificuldades para decidir qual algoritmo escolher regression. Quero saber em que condições se deve escolher um linear regressionou Decision Tree regressionou Random Forest regression? Existem características específicas dos dados que tomariam a decisão de avançar em direção a um algoritmo específico na árvore mencionada acima? Quais são as características que devo procurar no meu conjunto de dados para tomar a decisão? E há algumas razões que fariam um escolher um decision treeou random forestalgoritmo, mesmo se a mesma correção pode ser conseguido através linear regression?
— Jason Donnald
Isso é muito amplo - comece com uma descrição dos seus dados e quais são suas restrições?
Deixe-me explicar usando alguns exemplos para uma intuição clara:
Quando você usa regressão linear versus árvores de decisão?
A regressão linear é um modelo linear, o que significa que funciona muito bem quando os dados têm uma forma linear. Mas, quando os dados têm uma forma não linear, um modelo linear não pode capturar os recursos não lineares.
Portanto, nesse caso, você pode usar as árvores de decisão, que fazem um trabalho melhor na captura da não linearidade nos dados, dividindo o espaço em subespaços menores, dependendo das perguntas feitas.
Quando você usa o Random Forest vs Decision Trees?
Acho que a resposta do Quora aqui faria um trabalho melhor do que eu, ao explicar a diferença entre eles e suas aplicações. Deixe-me citar isso para você:
Suponha que você seja muito indeciso; portanto, sempre que quiser assistir a um filme, pergunte a sua amiga Willow se ela acha que você vai gostar. Para responder, Willow primeiro precisa descobrir quais filmes você gosta, então você dá a ela vários filmes e diz a ela se você gostou ou não de cada um (ou seja, você dá a ela um conjunto de treinamento rotulado). Então, quando você pergunta a ela se ela acha que você gostará ou não do filme X, ela faz um jogo de 20 perguntas com o IMDB, fazendo perguntas como "X é um filme romântico?", "Johnny Depp estrela em X?" , e assim por diante. Ela faz perguntas mais informativas primeiro (ou seja, maximiza o ganho de informações de cada pergunta) e fornece uma resposta sim / não no final.
Assim, Willow é uma árvore de decisão para suas preferências de filme.
Mas Willow é apenas humana, então ela nem sempre generaliza suas preferências muito bem (ou seja, ela se adapta demais). Para obter recomendações mais precisas, pergunte a vários amigos e assista ao filme X se a maioria deles disser que acha que você vai gostar. Ou seja, em vez de perguntar apenas a Willow, você também quer perguntar a Woody, Apple e Cartman, e eles votam se você gosta de um filme (ou seja, você constrói um classificador de conjunto, também conhecido como floresta neste caso).
Agora você não deseja que cada um de seus amigos faça a mesma coisa e dê a mesma resposta, portanto, primeiro forneça a cada um deles dados ligeiramente diferentes. Afinal, você não tem certeza absoluta de suas preferências - você disse a Willow que amava Titanic, mas talvez você estivesse feliz naquele dia porque era seu aniversário, então talvez alguns de seus amigos não devessem usar o fato de que você gostou do Titanic em fazer suas recomendações. Ou talvez você tenha dito a ela que amava a Cinderela, mas na verdade você realmenteadorei, então alguns de seus amigos deveriam dar mais peso à Cinderela. Então, em vez de fornecer a seus amigos os mesmos dados que você forneceu a Willow, você oferece versões ligeiramente perturbadas. Você não altera suas decisões de amor / ódio, apenas diz que ama / odeia alguns filmes um pouco mais ou menos (você oferece a cada um de seus amigos uma versão inicial de seus dados de treinamento originais). Por exemplo, enquanto você disse a Willow que gostava de Black Swan e Harry Potter e não gostava de Avatar, você diz a Woody que gostou tanto de Black Swan que assistiu duas vezes, que não gostou de Avatar e não mencionou Harry Potter.
Ao usar esse conjunto, você espera que, enquanto cada um de seus amigos dê recomendações um tanto idiossincráticas (Willow pensa que você gosta mais de filmes de vampiros do que você, Woody pensa que você gosta de filmes da Pixar e Cartman acha que você odeia tudo), os erros são cancelados na maioria. Assim, seus amigos agora formam uma floresta agrupada (agregada por bootstrap) de suas preferências de filme.
Ainda há um problema com seus dados. Enquanto você amava Titanic e Inception, não era porque você gosta de filmes que estrelam Leonardio DiCaprio. Talvez você tenha gostado dos dois filmes por outros motivos. Portanto, você não deseja que seus amigos baseiem suas recomendações em Leo ou não em um filme. Portanto, quando cada amigo faz uma pergunta ao IMDB, apenas um subconjunto aleatório das possíveis perguntas é permitido (ou seja, ao criar uma árvore de decisão, em cada nó você usa alguma aleatoriedade na seleção do atributo a ser dividido, digamos selecionando aleatoriamente um atributo ou selecionando um atributo de um subconjunto aleatório). Isso significa que seus amigos não podem perguntar se Leonardo DiCaprio está no filme quando quiserem. Então, enquanto anteriormente você injetava aleatoriedade no nível dos dados,
E assim seus amigos agora formam uma floresta aleatória.
when the data has a non-linear shape, then a linear model cannot capture the non-linear featuresEste é um equívoco comum. Antes de tudo, uma regressão linear simples pode modelar até as séries harmônicas stats.stackexchange.com/questions/60500/… . Em segundo lugar, a interação de recursos pode ser introduzida e, é claro, há um modelo linear generalizado onde é introduzida uma função não linear nos termos lineares (por exemplo, a regressão logística).
Até onde eu sei, não há uma regra para dizer qual algoritmo funciona para qual conjunto de dados. Apenas certifique-se de que seu conjunto de dados e variáveis ​​de interesse cumpram as pré-suposições de execução de cada algoritmo e tente. Por exemplo, a regressão linear tem algumas pré-suposições, como normalidade dos resuduais, homoscedasticidade (a variabilidade na variável resposta é a mesma em todos os níveis da variável explicativa) e assim por diante. Basta verificar essas variáveis ​​e experimentar o algoritmo.
Você pode usar um software de apontar e clicar para ver os resultados sem se envolver na configuração de código e parâmetro. Se você é um usuário R, o pacote rattle será uma ferramenta muito útil nesse estágio. Você faz seu trabalho no modo apontar e clicar e tem acesso ao código por trás dele.
— Hamideh
A única regra prática que li é que as regressões lidam melhor com o ruído do que com as florestas aleatórias, o que parece verdadeiro porque as árvores de decisão são modelos discretos, mas nunca vi isso testado quantitativamente.