O que é Random Forest?
O algoritmo Random Forest (Floresta Aleatória em português) é um algoritmo de aprendizado de máquina utilizado para realizar predições. Resumidamente, o algoritmo cria de forma aleatória várias Árvores de Decisão (Decision Trees) e combina o resultado de todas elas para chegar no resultado final. Por sua vez, árvores de decisão são estruturas de predição mais simples que, de maneira geral, criam uma estrutura parecida com uma árvore onde os ramos são os diferentes “caminhos” que o algoritmo toma para chegar no valor previsto.
Uma vantagem de utilizar o algoritmo Random Forest é que, além dele ser muito poderoso, ele retorna de maneira muito compreensiva a importância atribuída para cada variável independente na hora de realizar as predições. Com isso, é possível medir o impacto de cada questão no resultado final. Entretanto, a desvantagem é que por ser um algoritmo de aprendizado supervisionado, é preciso que seja fornecida uma variável resposta, ou seja, uma única variável pode ser prevista.
Algoritmo
Antes de tudo, como o Random Forest é um algoritmo de aprendizado supervisionado, é necessário escolher uma variável a ser prevista, a variável dependente. No exemplo abaixo, a variável escolhida foi a “Variável 1”, ou seja, essa será a variável que o algoritmo tentará prever.
Variável 1 |
Variável 2 |
Variável 3 |
Variável 4 |
Variável 5 |
Sim |
Não |
Sim |
125 |
Sim |
Não |
Sim |
Não |
180 |
Não |
Não |
Não |
Sim |
210 |
Não |
Sim |
Não |
Sim |
130 |
Sim |
O algoritmo funciona pegando o Dataset original e subdividindo-o de forma aleatória em um Dataset de treino, como no exemplo abaixo:
Variável 1 |
Variável 2 |
Variável 3 |
Variável 4 |
Variável 5 |
Não |
Sim |
Não |
180 |
Não |
Sim |
Não |
Sim |
130 |
Sim |
Não |
Não |
Sim |
210 |
Não |
Em seguida, o algoritmo criará aleatoriamente diversas árvores de decisão com as variáveis independentes “Variável 2”, “Variável 3”, “Variável 4” e “Variável 5”, onde será escolhido através de testes estatísticos – como o algoritmo de entropia ou o índice Gini – os nós das raízes. Cada nó representa uma condição a ser analisada para a tomada de decisão, e com cada condição satisfeita ele fará sua previsão da variável dependente, a ‘Variável 1’.
O algoritmo escolherá aleatoriamente duas ou mais variáveis, e realizará os cálculos com base nas amostras selecionadas, para definir qual dessas variáveis será utilizada no primeiro nó. Para escolha da variável do próximo nó, novamente serão escolhidas duas ou mais variáveis, excluindo as já selecionadas anteriormente, e o processo de escolha se repetirá. Desta forma a árvore será construída até o último nó. A quantidade de variáveis a serem escolhidas pode ser definida na criação do modelo.
O modelo não constrói uma única árvore, mas várias, literalmente, quantas o estatístico desejar. A construção de várias árvores é necessária para ser evitado o Overfitting do modelo, que é quando ele não possui capacidade de generalização, ou seja, o modelo aprendeu tanto com os dados de teste que ele simplesmente decorou o que deve ser feito, e quando exposto a dados “diferentes”, ele possui baixa capacidade preditiva.
As novas árvores são sempre diferentes das anteriores, pois o processo da escolha dos “nós” sempre acontece aleatoriamente.
Com o modelo devidamente criado, podemos apresentar novos dados e obter o resultado da previsão. Cada árvore criada irá apresentar o seu resultado, sendo que em problemas de regressão será realizada a média dos valores previstos, e esta média informada como resultado, e em problemas de classificação o resultado que mais vezes foi apresentado será o escolhido. Ou seja, com a inserção de novos dados para a previsão, o modelo irá analisá-los passando pelas (n) diferentes árvores de decisão, e cada árvore dará um resultado, no nosso caso, como a variável a ser prevista é a “Variável 1”, que é uma variável categórica do tipo sim ou não, cada árvore fará uma escolha, e o resultado mais vezes escolhido será o previsto.
Aplicações do Random Forest
O Random Forest é utilizado em muitas áreas diferentes, como o setor bancário, mercado financeiro, Hospitalar e comércio eletrônico. No setor bancário ele é utilizado para detectar clientes que irão utilizar os serviços bancários mais frequentemente que outros e pagar suas dívidas pontualmente, detectar fraudes de clientes que querem lesar o banco, etc. No setor financeiro, ele é utilizado para determinar o desempenho futuro de uma ação. Na área de saúde é utilizado para analisar o histórico médico de um paciente para identificar doenças. Por último, no comércio eletrônico é utilizado para determinar se um cliente irá gostar do produto ou não e outras inúmeras utilidades.
Se interessou pela ideia de utilizar modelos estatísticos para maximizar a eficiência de seu negócio?
A ICMC Júnior pode te ajudar! Entre em contato e tenha seu orçamento gratuito.
Estamos há mais de 25 anos no mercado com o propósito de garantir os melhores resultados para nossos clientes, executando projetos nas áreas de TI e estatística com a qualidade e tecnologia da USP.