Você está na página 1de 9

Árvores de decisão:

Árvores de decisão são modelos de aprendizado de máquina que utilizam uma estrutura de
árvore para tomar decisões ou fazer previsões. Elas são baseadas em uma série de regras
de decisão que são aprendidas a partir dos dados de treinamento

Estrutura das árvores de decisão:

● Raiz: representa a variável de entrada mais importante para dividir o conjunto de


dados.
● Nós internos: representam os testes nos atributos e dividem o conjunto de dados
com base em uma determinada condição.
● Folhas: representam as classes ou valores de regressão que são atribuídos após
percorrer a árvore.

Principais tipos de árvores de decisão:

● Árvores de Classificação: As árvores de classificação são usadas para problemas de


classificação, onde o objetivo é atribuir instâncias de dados a classes ou categorias
pré-definidas. Cada nó da árvore representa um teste em um atributo e cada ramo
representa um resultado do teste. As folhas da árvore representam as classes
resultantes ou as categorias às quais as instâncias são atribuídas.
● Árvores de Regressão: As árvores de regressão são usadas para problemas de
regressão, onde o objetivo é prever um valor contínuo ou quantitativo. Assim como
nas árvores de classificação, cada nó da árvore representa um teste em um atributo,
mas as folhas da árvore contêm valores numéricos correspondentes às previsões de
regressão.

​ Além desses dois principais tipos de árvores de decisão, existem também variações
e extensões, tais como:

● Árvores de Decisão Multiclasse: São extensões das árvores de classificação que
lidam com problemas de classificação com mais de duas classes.
● Árvores de Decisão Baseadas em Regras: Essas árvores usam regras condicionais
para representar as decisões em vez de usar apenas os testes dos atributos. Cada
nó representa uma regra e as folhas representam as classes ou os valores de
regressão correspondentes.
● Gradient Boosted Trees: Essa técnica combina várias árvores de decisão em um
ensemble (conjunto) para melhorar o desempenho preditivo. A cada iteração, uma
nova árvore é construída para corrigir os erros cometidos pelas árvores anteriores.
● Random Forest: Também é um ensemble de árvores de decisão, onde várias
árvores são construídas a partir de subconjuntos aleatórios dos dados de
treinamento. As previsões são obtidas através da média das previsões das árvores
individuais.

Esses são apenas alguns exemplos dos diferentes tipos de árvores de decisão. Cada tipo
possui suas próprias características e é mais adequado para certos tipos de problemas de
aprendizado de máquina. A escolha do tipo de árvore de decisão depende do tipo de dado e
da natureza do problema que se deseja resolver.
Regenerate response

As árvores de classificação e de regressão são técnicas de aprendizado de máquina


supervisionado usadas para modelar relações entre variáveis de entrada e variáveis de
saída.

>> As árvores de classificação são usadas quando a variável de saída é categórica, ou seja,
quando se deseja classificar os dados em categorias ou classes pré-definidas. Por exemplo,
elas podem ser usadas para classificar e-mails em spam ou não spam, prever se um cliente
irá comprar um produto ou não, entre outros.
>> As árvores de regressão, por outro lado, são usadas quando a variável de saída é
contínua, ou seja, quando se deseja prever um valor numérico. Elas são úteis em
problemas de previsão, como prever o preço de uma casa com base em suas
características, prever a quantidade de vendas de um produto, entre outros.

Sequência de etapas no R para a construção de uma árvore de


classificação

1. Carregar e explorar os dados: Comece carregando seus dados no R e faça uma


exploração inicial para entender a estrutura dos dados, verificar a presença de
valores ausentes, discrepantes ou outros problemas de qualidade dos dados.
2. Pré-processamento dos dados: Realize etapas de pré-processamento, como
tratamento de valores ausentes, transformação de variáveis categóricas em
variáveis numéricas (se necessário), normalização ou padronização de variáveis,
entre outras técnicas adequadas para seus dados.
3. Divisão do conjunto de dados: Separe seu conjunto de dados em um conjunto de
treinamento e um conjunto de teste. O conjunto de treinamento será usado para
construir a árvore de classificação, enquanto o conjunto de teste será usado para
avaliar seu desempenho.
4. Construção da árvore: Utilize uma biblioteca como "rpart" ou "tree" para construir a
árvore de classificação. Essas bibliotecas oferecem funções como "rpart()" e "tree()"
que permitem a criação da árvore com base nos dados de treinamento.
5. Ajuste de parâmetros: Dependendo da biblioteca utilizada, você pode ajustar
parâmetros da árvore, como o critério de divisão, a profundidade máxima da árvore,
entre outros. Isso pode ser feito por meio de argumentos nas funções de construção
da árvore.
6. Avaliação da árvore: Avalie a qualidade da árvore utilizando métricas apropriadas
para classificação, como acurácia, precisão, recall ou F1-score. Use o conjunto de
teste para fazer previsões com a árvore construída e compare os resultados com as
classes reais para avaliar seu desempenho.
7. Visualização da árvore: Visualize a árvore construída para entender suas divisões e
regras de decisão. Isso pode ajudar na interpretação dos resultados e na
identificação de padrões relevantes.
8. Ajustes e otimização: Caso necessário, faça ajustes na árvore, como podagem
(pruning) para evitar sobreajuste ou otimização de parâmetros, para melhorar seu
desempenho e generalização.
9. Utilização da árvore para previsões: Uma vez que a árvore esteja construída e
avaliada, você pode utilizá-la para fazer previsões em novos conjuntos de dados.
Utilize a função "predict()" para obter as previsões da árvore em novas instâncias.

Essas etapas fornecem uma orientação geral para a construção de árvores de classificação
no R. No entanto, lembre-se de que as etapas específicas e as bibliotecas podem variar
dependendo das suas necessidades e preferências.

Sequência de etapas no R para a construção de uma árvore de


regressão

Em uma árvore de regressão, o termo "impureza" é usado para se referir à medida de quão
heterogêneos ou dispersos estão os valores de regressão nas folhas da árvore. Em outras
palavras, a impureza mede a variabilidade dos valores de resposta (ou variável de saída
contínua) em uma determinada região da árvore.

Existem diferentes medidas de impureza comumente usadas em árvores de regressão,


sendo as principais:

MSE - Erro Quadrático Médio (ou Mean Squared Error) (variância do erro): É a medida de
impureza mais comum em árvores de regressão. O MSE é calculado como a média dos
quadrados das diferenças entre os valores de resposta observados e os valores de
regressão previstos em cada folha. Quanto maior o MSE, maior a dispersão dos valores de
resposta e, portanto, maior a impureza.

O objetivo da construção da árvore de regressão é minimizar a impureza, ou seja,


reduzir a variabilidade dos valores de resposta dentro das folhas. Quando a árvore é
construída, os atributos são selecionados para fazer divisões nos nós com o objetivo de
reduzir a impureza em relação ao critério escolhido (como o MSE ou o MAE). A escolha da
melhor divisão é feita considerando-se a diminuição da impureza alcançada após a divisão.

O SSE (Sum of Squared Errors) e o SST (Total Sum of Squares) são métricas utilizadas
para avaliar o desempenho de modelos de regressão, incluindo árvores de regressão. Eles
estão relacionados à decomposição da variabilidade dos valores de resposta em relação à
média.

● O SSE (Sum of Squared


Errors) representa a variabilidade não
explicada pelos preditores em um
modelo de regressão. É calculado
como a soma dos quadrados das
diferenças entre cada valor de
resposta observado (yi) e o valor de
regressão previsto (^yi) pelo modelo. O
SSE mede a soma dos erros ao
quadrado entre as previsões do
modelo e os valores reais. Quanto
menor o SSE (mais próximo de 0),
melhor o ajuste do modelo aos dados.

● SST (Total Sum of Squares): O SST representa a variabilidade total dos valores de
resposta em relação à média. É calculado como a soma dos quadrados das
diferenças entre cada valor de resposta (yi) e a média de todos os valores de
resposta (-yi). O SST mede a variabilidade máxima dos valores de resposta em
relação à média e pode ser interpretado como a variabilidade que seria explicada
por um modelo que contém apenas a média como preditor.

A relação entre o SST e o SSE é dada pela fórmula: SST = SSE + SSR, onde SSR
representa a soma dos quadrados da regressão. O SSR mede a variabilidade explicada
pelos preditores em relação à média. Em um modelo de regressão perfeito, SSR seria igual
a SST, pois todos os valores de resposta seriam exatamente previstos pelos preditores.

Ao avaliar um modelo de regressão, é


comum calcular o coeficiente de
determinação (R²), que é a proporção da
variabilidade explicada em relação à
variabilidade total. O R² é calculado como
1 - (SSE/SST). Quanto mais próximo de 1
for o R², melhor o ajuste do modelo aos
dados, pois indica que uma maior
proporção da variabilidade é explicada pelos preditores.

No contexto das árvores de regressão, o SSE e o SST são utilizados para medir o ajuste do
modelo aos dados e avaliar a qualidade das previsões. Uma árvore de regressão é
construída de forma a minimizar o SSE, buscando reduzir a variabilidade não explicada
pelos preditores.

>>>> Supondo que o R² deu 0,80, isso significa que a minha árvore explica 80% da
variância dos dados. O “explicar” nesse caso significa que a variância presente nas
predições correspondem a 80% do que foi observado na variância real?

Cross Validation

A validação cruzada (ou cross-validation) é uma técnica estatística utilizada para


avaliar o desempenho de um modelo de aprendizado de máquina. Ela ajuda a estimar como
o modelo se comporta em dados não vistos, permitindo uma avaliação mais robusta e
confiável do desempenho do modelo.

A ideia principal por trás da validação cruzada é dividir o conjunto de dados disponível em
partes menores (Treino e Teste) para treinar e testar o modelo várias vezes. Dessa forma, é
possível obter várias medidas de desempenho do modelo e ter uma visão mais geral de
como ele se comporta em diferentes conjuntos de dados.

Existem diferentes abordagens comuns para realizar a validação cruzada.. Uma delas é a
K-Fold Cross-Validation:

Nessa abordagem, o conjunto de dados é dividido em K partes (chamadas de folds)


de tamanhos aproximadamente iguais. O modelo é treinado K vezes, cada vez utilizando
K-1 folds como conjunto de treinamento e 1 fold como conjunto de teste. O desempenho é
calculado como a média dos resultados obtidos em cada iteração.

A validação cruzada fornece uma estimativa mais robusta do desempenho do


modelo, pois utiliza várias partições dos dados para treinamento e teste. Isso permite
detectar se o modelo está sofrendo de sobreajuste (overfitting) ou sub ajuste (underfitting) e
ajuda a escolher o modelo mais adequado.Além disso, a validação cruzada também auxilia
na seleção de hiperparâmetros do modelo.
É possível realizar a validação cruzada para diferentes combinações de
hiperparâmetros e selecionar aqueles que fornecem o melhor desempenho médio nas
diferentes iterações. No geral, a validação cruzada é uma técnica importante para avaliar o
desempenho do modelo, selecionar hiperparâmetros adequados e fornecer uma estimativa
mais confiável de como o modelo irá se comportar em dados não vistos.

Hiperparâmetros:

Na validação cruzada K-fold, os hiperparâmetros "w" não são um conceito padrão ou


comummente utilizados. No entanto, os hiperparâmetros são parâmetros externos ao
modelo de aprendizado de máquina que precisam ser ajustados pelo usuário antes de
treinar o modelo.

Os hiperparâmetros são diferentes dos parâmetros do modelo, que são estimados


internamente pelo algoritmo durante o treinamento. Os hiperparâmetros afetam o
comportamento do modelo, como sua complexidade, capacidade de generalização,
regularização, critérios de divisão, entre outros.
Alguns exemplos comuns de hiperparâmetros em árvores de decisão incluem a
profundidade máxima da árvore, o número mínimo de amostras necessárias para dividir um
nó, o critério de divisão (como MSE ou MAE em árvores de regressão), entre outros.
Ao realizar a validação cruzada K-fold, é comum ajustar e otimizar os hiperparâmetros do
modelo para encontrar a melhor combinação que resulte em um desempenho ótimo. Isso é
feito repetindo o processo de treinamento e teste do modelo para diferentes combinações
de hiperparâmetros e avaliando o desempenho médio do modelo em cada iteração do
K-fold.
Portanto, embora "w" não seja um termo padrão associado à validação cruzada K-fold, é
possível que você esteja se referindo a algum hiperparâmetro específico que precisa ser
ajustado durante o processo de validação cruzada. É importante consultar a documentação
específica da biblioteca ou algoritmo que você está utilizando para determinar o significado
exato de "w" ou identificar o hiperparâmetro correto que está sendo referido.

O que significa "tunar" o modelo?

"Tunar o modelo” é um termo utilizado no contexto de ajuste de hiperparâmetros em


algoritmos de aprendizado de máquina. Refere-se ao processo de encontrar a combinação
ideal de valores para os hiperparâmetros do modelo, de forma a obter o melhor
desempenho possível.

O processo de tunar o modelo geralmente envolve a seguinte sequência de passos:

● Selecionar uma grade de valores: Especificar uma grade de valores possíveis para
cada hiperparâmetro que se deseja ajustar. Por exemplo, pode-se definir uma lista
de diferentes profundidades máximas para uma árvore de decisão ou diferentes
valores para a taxa de aprendizado em um algoritmo de gradient boosting.
● Realizar validação cruzada: Utilizar técnicas de validação cruzada, como K-fold
cross-validation, para avaliar o desempenho do modelo em diferentes combinações
de hiperparâmetros. Para cada conjunto de hiperparâmetros, o modelo é treinado e
avaliado em partições distintas dos dados.
● Avaliar o desempenho: Calcular uma métrica de desempenho (como acurácia,
F1-score, erro médio, etc.) para cada combinação de hiperparâmetros testada. Essa
métrica serve como medida de quão bem o modelo está se saindo em relação aos
dados de validação.
● Selecionar os melhores hiperparâmetros: Identificar a combinação de
hiperparâmetros que apresenta o melhor desempenho de acordo com a métrica
escolhida. Pode-se escolher o conjunto com a maior acurácia, menor erro ou outra
métrica adequada ao problema.

O CP é uma técnica de poda utilizada em árvores de decisão para controlar a complexidade do

modelo e evitar o sobreajuste, removendo ramos desnecessários que não contribuem

significativamente para a melhoria do desempenho.

Como achar o código no R para esta parte na aula:

Modelos Ensemble

Modelos Ensemble são técnicas de aprendizado de máquina que combinam as


previsões de vários modelos individuais (conhecidos como "membros do Ensemble") para
obter uma previsão final mais precisa e robusta. O objetivo desses modelos é aproveitar a
diversidade dos modelos individuais e combinar suas previsões de maneira inteligente para
melhorar o desempenho geral do Ensemble.

Existem várias abordagens para criar modelos Ensemble, sendo as mais comuns:

​ Bagging (Bootstrap Aggregating):



​ Nessa abordagem, vários modelos são treinados em diferentes conjuntos de dados
de treinamento, obtidos por amostragem com reposição (bootstrap) dos dados
originais. Cada modelo é treinado independentemente e suas previsões são
combinadas por média (no caso de problemas de regressão) ou votação (no caso de
problemas de classificação).
No contexto do Bagging (Bootstrap Aggregating), a agregação refere-se à combinação das
previsões dos modelos individuais em um modelo Ensemble. Existem diferentes métodos
de agregação comumente usados no Bagging, incluindo:

1. Média (Mean): Nesse método de agregação, as previsões dos modelos individuais


são combinadas por meio da média. É usado principalmente em problemas de
regressão, onde as previsões dos modelos são valores contínuos. A média das
previsões é calculada e usada como a previsão final.

2. Votação (Voting): O método de agregação por votação é usado em problemas de


classificação, onde as previsões dos modelos são atribuídas a diferentes classes.
Existem três tipos principais de votação:
● Maioria (Majority Voting): Nesse método, cada modelo no Ensemble faz uma
previsão e a classe mais frequente entre os modelos é selecionada como a
previsão final. É chamado de "votação por maioria" porque a classe com o
maior número de votos é escolhida.
● Voto ponderado (Weighted Voting): No voto ponderado, cada modelo atribui
pesos às suas previsões, e a classe com a soma ponderada mais alta é
selecionada como a previsão final. Os pesos podem ser atribuídos com base
no desempenho do modelo ou em algum critério de importância.
● Soft Voting: Nesse método, as previsões de cada modelo são transformadas
em probabilidades ou pontuações de confiança para cada classe. Em
seguida, as probabilidades de todas as classes são somadas para cada
modelo, e a classe com a pontuação mais alta é selecionada como a
previsão final.

3. Regressão (Regression): Em problemas de regressão, onde as previsões dos


modelos são valores contínuos, a agregação pode ser feita através de uma
regressão linear ou outro modelo de regressão aplicado às previsões dos modelos
individuais. A regressão é usada para encontrar uma relação ponderada entre as
previsões dos modelos e gerar uma previsão final.

Cada método de agregação tem suas vantagens e pode ser mais adequado para diferentes
problemas e conjuntos de dados. A escolha do método de agregação depende do tipo de
problema (classificação ou regressão) e das características dos dados e das previsões dos
modelos individuais.

Bootstrapping para avaliar a média

O Boosting envolve treinar uma sequência de modelos de forma iterativa, em que


cada modelo subsequente é treinado para corrigir os erros do modelo anterior. Os membros
do Ensemble são combinados usando uma abordagem ponderada, onde os modelos com
melhor desempenho têm mais peso nas previsões finais.
Os modelos Ensemble têm várias vantagens, como redução de variância, aumento
da precisão, melhor capacidade de generalização e maior resistência ao sobreajuste. Eles
podem ser aplicados a problemas de classificação, regressão e outras tarefas de
aprendizado de máquina.
Além dos métodos mencionados, existem muitas outras técnicas de Ensemble, como
Gradient Boosting, AdaBoost, Voting Classifier, entre outras. A escolha do método de
Ensemble depende do problema em questão, dos dados disponíveis e das características
específicas do modelo.

Random Forest: O Random Forest é um modelo Ensemble baseado em Bagging que utiliza
árvores de decisão como membros do Ensemble. Nesse método, várias árvores de decisão
são treinadas em conjuntos de dados de treinamento diferentes, e suas previsões são
combinadas por votação.
Stacking: No Stacking, modelos individuais são treinados em um conjunto de dados de
treinamento e suas previsões são usadas como recursos para treinar um modelo de
meta-aprendizado. Esse modelo de meta-aprendizado é então usado para fazer a previsão
final. O Stacking visa capturar relações mais complexas entre as previsões dos modelos
individuais.

Boosting X Bootstrapping

​ Bootstrapping (Amostragem com reposição): O bootstrapping é uma técnica


estatística que envolve a criação de várias amostras de dados de treinamento por
meio da amostragem com reposição. Em vez de usar o conjunto de dados original
para treinar um modelo, o bootstrapping gera múltiplas amostras aleatórias,
permitindo que os dados se repitam em diferentes amostras. Essas amostras são
usadas para treinar modelos individuais em uma abordagem como o Bagging, onde
cada modelo é treinado em uma amostra bootstrap diferente.
​ Boosting: O boosting é uma técnica de aprendizado de máquina que visa construir
um modelo forte a partir de vários modelos fracos. Ao contrário do bootstrapping, o
boosting não se refere à amostragem dos dados, mas ao treinamento sequencial de
modelos em que cada modelo subsequente é treinado para corrigir os erros do
modelo anterior. O boosting atribui pesos aos dados de treinamento, dando mais
importância às instâncias mal classificadas ou com erros anteriores. Os modelos
fracos são combinados de forma ponderada para produzir uma previsão final mais
forte.
Portanto, enquanto o bootstrapping se refere à amostragem com reposição dos dados de
treinamento, o boosting é uma técnica de construção de modelos sequenciais, onde cada
modelo tenta corrigir os erros do modelo anterior. Embora ambos os termos possam ser
usados em conjunto em algumas abordagens, eles são conceitos distintos no aprendizado
de máquina.

Você também pode gostar