Articles

A complete guide to the random forest algorithm

Posted by admin

Random forest is a flexible, easy to use machine learning algorithm that produces, even without hyper-parameter tuning, a great result most of the time. É também um dos algoritmos mais utilizados, devido à sua simplicidade e diversidade (pode ser usado tanto para tarefas de classificação como de regressão). Neste post vamos aprender como funciona o algoritmo da floresta aleatória, como ele difere de outros algoritmos e como usá-lo.o que é a floresta aleatória?,

Floresta Aleatória é um algoritmo de aprendizagem supervisionado. A ” floresta “que constrói, é um conjunto de árvores de decisão, geralmente treinados com o método de” ensacamento”. A ideia geral do método de ensacamento é que uma combinação de modelos de aprendizagem aumenta o resultado global.,

Índice

  • Como funciona
  • analogia na vida Real
  • Característica de importância
  • Diferença entre árvores de decisão e aleatório florestas
  • Importante hiperparâmetros (introdução assistida de potência, velocidade)
  • Vantagens e desvantagens
  • casos de Uso
  • Resumo

Como Aleatório Floresta Funciona

Random forest é um algoritmo de aprendizado supervisionado. A ” floresta “que constrói, é um conjunto de árvores de decisão, geralmente treinados com o método de” ensacamento”., A ideia geral do método de ensacamento é que uma combinação de modelos de aprendizagem aumenta o resultado global.

simplificando: floresta aleatória constrói várias árvores de decisão e junta-as para obter uma previsão mais precisa e estável.

uma grande vantagem da floresta aleatória é que ela pode ser usada tanto para problemas de classificação e regressão, que formam a maioria dos atuais sistemas de aprendizagem de máquinas. Vamos olhar para a floresta aleatória em classificação, já que a classificação é às vezes considerada o bloco de construção da aprendizagem de máquinas., Abaixo você pode ver como uma floresta aleatória se pareceria com duas árvores:

Floresta Aleatória tem quase os mesmos hiperparâmetros que uma árvore de decisão ou um classificador de ensacamento. Felizmente, não há necessidade de combinar uma árvore de decisão com um classificador de bagging porque você pode facilmente usar a classe classificadora de floresta aleatória. Com floresta aleatória, Você também pode lidar com tarefas de regressão usando o regressor do algoritmo.

Floresta aleatória adiciona aleatoriedade adicional ao modelo, enquanto cresce as árvores., Em vez de procurar o recurso mais importante ao dividir um nó, ele procura o melhor recurso entre um subconjunto aleatório de recursos. Isso resulta em uma grande diversidade que geralmente resulta em um modelo melhor.

portanto, na floresta aleatória, apenas um subconjunto Aleatório das características é levado em consideração pelo algoritmo para dividir um nó. Você pode até mesmo fazer árvores mais aleatórias usando limiares aleatórios para cada característica, em vez de procurar os melhores limiares possíveis (como uma árvore de decisão normal faz).,

analogia da vida real

Andrew quer decidir para onde ir durante um ano de férias, então ele pede às pessoas que o conhecem melhor para sugestões. O primeiro amigo que ele procura lhe pergunta sobre os gostos e desgostos de suas viagens passadas. Com base nas respostas, ele vai dar alguns conselhos ao Andrew.

Esta é uma abordagem típica de árvore de decisão. O amigo de Andrew criou regras para orientar sua decisão sobre o que ele deveria recomendar, usando as respostas de Andrew., mais tarde, Andrew começa a pedir mais e mais de seus amigos para aconselhá-lo e eles novamente fazem-lhe diferentes perguntas que podem usar para derivar algumas recomendações. Finalmente, Andrew escolhe os lugares que mais recomendam para ele, que é a abordagem típica algoritmo da floresta aleatória.

característica importância

outra grande qualidade do algoritmo da floresta aleatória é que é muito fácil medir a importância relativa de cada característica na previsão., Sklearn fornece uma grande ferramenta para isso, que mede a importância de um recurso, olhando para o quanto os nós de árvores que usam esse recurso reduzem a impureza em todas as árvores na floresta. Ele calcula esta pontuação automaticamente para cada característica após o treinamento e escala os resultados de modo que a soma de toda a importância é igual a um.

If you don’t know how a decision tree works or what a leaf or node is, here is a good description from Wikipedia: ‘”In a decision tree each internal node represents a ‘test’ on an attribute (e.g., cada ramo representa o resultado do teste, e cada nó de folha representa uma etiqueta de classe (decisão tomada depois de computar todos os atributos). Um nó que não tem filhos é uma folha.'”

olhando para a importância do recurso você pode decidir quais recursos a cair possivelmente porque eles não contribuem o suficiente (ou às vezes nada em tudo) para o processo de predição. Isto é importante porque uma regra geral no aprendizado de máquina é que quanto mais recursos você tem, mais provável o seu modelo vai sofrer de sobrefitting e vice-versa.,

abaixo está uma tabela e visualização mostrando a importância de 13 características, que eu usei durante um projeto de classificação supervisionado com o famoso conjunto de dados Titanic em kaggle. Você pode encontrar todo o projeto aqui.

Diferença entre Árvores de Decisão e Aleatório Florestas

Enquanto aleatório floresta é uma coleção de árvores de decisão, existem algumas diferenças.,

Se você inserir um conjunto de dados de treinamento com características e etiquetas em uma árvore de decisão, ele irá formular algum conjunto de regras, que serão usadas para fazer as previsões.

Por exemplo, para prever se uma pessoa vai clicar em um anúncio online, você pode coletar os anúncios a pessoa clicou no passado e algumas características que descrevem a sua decisão. Se você colocar as características e etiquetas em uma árvore de decisão, ele irá gerar algumas regras que ajudam a prever se o anúncio será clicado ou não., Em comparação, o algoritmo da floresta aleatória seleciona aleatoriamente observações e características para construir várias árvores de decisão e, em seguida, médias os resultados.outra diferença é que as árvores de decisão “profundas” podem sofrer de sobreditting. Na maioria das vezes, floresta aleatória impede isso, criando subconjuntos aleatórios das características e construindo árvores menores usando esses subconjuntos. Depois, combina as sub-árvores. É importante notar que isso não funciona sempre e também torna o cálculo mais lento, dependendo de quantas árvores a floresta aleatória constrói.,

Hiperparametros importantes

os hiperparametros na floresta Aleatória são usados para aumentar o poder preditivo do modelo ou para tornar o modelo mais rápido. Vamos ver os hiperparâmetros dos sklearns embutidos na função floresta aleatória.1. Aumentando o poder preditivo

Em primeiro lugar, há o hiperparâmetro de n_estimadores, que é apenas o número de árvores que o algoritmo constrói antes de tomar a votação máxima ou tomar as médias das previsões., Em geral, um maior número de árvores aumenta o desempenho e torna as previsões mais estáveis, mas também atrasa o cálculo.

outro hiperparametro importante é o max_features, que é o número máximo de características que a floresta aleatória considera dividir um nó. O Sklearn oferece várias opções, todas descritas na documentação.

O último hiperparâmetro importante é o min_sample_leaf. Isto determina o número mínimo de folhas necessárias para dividir um nó interno.2., Aumentando a velocidade do Modelo

O hiperparâmetro n_jobs diz ao motor quantos processadores ele pode usar. Se ele tem um valor de um, ele só pode usar um processador. Um valor de ” -1 ” significa que não há limite.

o hiperparâmetro Aleatório do estado faz com que a saída do modelo seja replicável. O modelo produzirá sempre os mesmos resultados quando tiver um valor definido de random_state e se lhe tiverem sido dados os mesmos hiperparametros e os mesmos dados de treinamento.

finalmente, há o oob_score (também chamado de amostragem oob), que é um método de validação cruzada da floresta aleatória., Nesta amostragem, cerca de um terço dos dados não é usado para treinar o modelo e pode ser usado para avaliar o seu desempenho. Estas amostras são chamadas de amostras fora do saco. É muito semelhante ao método de validação cruzada, mas quase nenhum fardo computacional adicional vai junto com ele.

vantagens e desvantagens do algoritmo da floresta aleatória

uma das maiores vantagens da floresta aleatória é a sua versatilidade. Pode ser usado tanto para tarefas de regressão quanto de classificação, e também é fácil ver a importância relativa que atribui às características de entrada.,

Random forest é também um algoritmo muito útil porque os hiper-parâmetros padrão que ele usa muitas vezes produzem um bom resultado de previsão. Compreender os hiperparametros é bastante simples, e também não há muitos deles.

Um dos maiores problemas na aprendizagem de máquinas é o excesso de tempo, mas na maioria das vezes isso não vai acontecer graças ao classificador floresta aleatória. Se houver árvores suficientes na floresta, O classificador não excederá o modelo.,

A principal limitação da floresta aleatória é que um grande número de árvores pode tornar o algoritmo muito lento e ineficaz para previsões em tempo real. Em geral, estes algoritmos são rápidos para treinar, mas bastante lentos para criar previsões uma vez que eles são treinados. Uma previsão mais precisa requer mais árvores, o que resulta em um modelo mais lento. Na maioria das aplicações do mundo real, o algoritmo da floresta aleatória é rápido o suficiente, mas certamente pode haver situações em que o desempenho em tempo de execução é importante e outras abordagens seriam preferidas.,

E, claro, floresta aleatória é uma ferramenta de modelagem preditiva e não uma ferramenta Descritiva, o que significa que se você está procurando uma descrição das relações em seus dados, outras abordagens seriam melhores.

Cases Random Forest Use

o algoritmo random forest é usado em vários campos diferentes, como a banca, o mercado de ações, medicina e comércio eletrônico.em finanças, por exemplo, é usado para detectar clientes mais propensos a pagar sua dívida no tempo, ou usar os Serviços de um banco com mais frequência. Neste domínio, é também utilizado para detectar fraudes para enganar o banco., Na negociação, o algoritmo pode ser usado para determinar o comportamento futuro de uma ação.

no domínio dos cuidados de saúde é utilizado para identificar a combinação correcta de componentes na medicina e para analisar a história médica de um doente para identificar doenças.

Floresta Aleatória é usada no comércio eletrônico para determinar se um cliente realmente vai gostar do produto ou não.

resumo

Floresta Aleatória é um grande algoritmo para treinar no início do processo de desenvolvimento do modelo, para ver como ele funciona. A sua simplicidade faz da construção de uma floresta aleatória ” má ” uma proposta difícil.,

O algoritmo também é uma grande escolha para qualquer um que precisa desenvolver um modelo rapidamente. Além disso, ele fornece um bom indicador da importância que atribui às suas características.

florestas aleatórias também são muito difíceis de superar desempenho sábio. É claro, você provavelmente pode sempre encontrar um modelo que possa executar melhor, como uma rede neural, por exemplo, mas estes geralmente levam mais tempo para se desenvolver, embora eles possam lidar com um monte de diferentes tipos de recursos, como binário, categórico e numérico.,

em geral, a floresta aleatória é uma ferramenta (principalmente) rápida, simples e flexível, mas não sem algumas limitações.Niklas Donges é um empresário, escritor técnico e especialista em IA. Ele trabalhou em uma equipe de IA da SAP por 1,5 anos, após o que fundou a Markov Solutions. A empresa de Berlim é especializada em Inteligência artificial, aprendizagem de máquinas e aprendizado profundo, oferecendo soluções de software e programas de consultoria personalizados para várias empresas.

Leave A Comment