Conteúdo do Curso
Ensemble Learning
1. Princípios Básicos da Construção de Modelos de Ensemble
2. Modelos de Bagging Comumente Utilizados
Ensemble Learning
Floresta Aleatória
Floresta Aleatória é um algoritmo de conjunto de ensacamento usado tanto para tarefas de classificação quanto de regressão. A ideia básica por trás da Floresta Aleatória é criar uma "floresta" de árvores de decisão, onde cada árvore é treinada em um subconjunto diferente dos dados e fornece sua própria previsão.
Como funciona a Floresta Aleatória?
- Amostragem Bootstrap e Subconjunto de Dados: Cada árvore na floresta é treinada usando um subconjunto aleatório retirado do conjunto de dados original por meio de bootstrap. Esse processo envolve a seleção de pontos de dados com reposição, criando subconjuntos diversos para cada árvore.
- Construção de Árvore de Decisão: Esses subconjuntos constroem árvores de decisão individuais. Os dados são divididos recursivamente usando características e limiares, formando divisões binárias que levam a nós folha contendo previsões.
- Seleção de Características Aleatórias: Dentro de cada árvore, apenas um subconjunto aleatório de características é considerado para criar divisões. Essa aleatoriedade impede que características únicas dominem as previsões e aumenta a diversidade da árvore.
- Agregação de Previsão: Após o treinamento, cada árvore faz previsões para pontos de dados. Para classificação, usamos votação direta ou ponderada para criar uma previsão; para regressão, as previsões são médias para fornecer o resultado final.
Podemos notar uma característica interessante de uma árvore aleatória: cada modelo base é treinado não apenas em um subconjunto aleatório do conjunto de treinamento, mas também em um subconjunto aleatório de características. Como resultado, obtemos modelos base mais independentes e, consequentemente, previsões finais mais precisas.
Exemplo
Vamos resolver uma tarefa de classificação usando Floresta Aleatória no conjunto de dados Iris:
Code Description
scikit-learn
: -
load_iris
: Used to load the Iris dataset.-
train_test_split
: Used to split the dataset into training and testing sets.-
RandomForestClassifier
: The classifier we'll be using, which is part of the ensemble module.-
f1_score
: The function to calculate the F1 score for model evaluation.load_iris
.- Extract the features into
X
and the target variable into y
.train_test_split
.test_size=0.2
specifies that 20% of the data will be used for testing.RandomForestClassifier
with n_estimators=100
(number of trees in the forest) and n_jobs=-1
(to train the model using all processors in parallel).- Train the classifier using the training data (features and target) with the
.fit()
method.X_test
).- Store the predicted labels in
y_pred
.f1_score()
function.- The
average='weighted'
parameter indicates that the F1 score sho
Tudo estava claro?
Conteúdo do Curso
Ensemble Learning
1. Princípios Básicos da Construção de Modelos de Ensemble
2. Modelos de Bagging Comumente Utilizados
Ensemble Learning
Floresta Aleatória
Floresta Aleatória é um algoritmo de conjunto de ensacamento usado tanto para tarefas de classificação quanto de regressão. A ideia básica por trás da Floresta Aleatória é criar uma "floresta" de árvores de decisão, onde cada árvore é treinada em um subconjunto diferente dos dados e fornece sua própria previsão.
Como funciona a Floresta Aleatória?
- Amostragem Bootstrap e Subconjunto de Dados: Cada árvore na floresta é treinada usando um subconjunto aleatório retirado do conjunto de dados original por meio de bootstrap. Esse processo envolve a seleção de pontos de dados com reposição, criando subconjuntos diversos para cada árvore.
- Construção de Árvore de Decisão: Esses subconjuntos constroem árvores de decisão individuais. Os dados são divididos recursivamente usando características e limiares, formando divisões binárias que levam a nós folha contendo previsões.
- Seleção de Características Aleatórias: Dentro de cada árvore, apenas um subconjunto aleatório de características é considerado para criar divisões. Essa aleatoriedade impede que características únicas dominem as previsões e aumenta a diversidade da árvore.
- Agregação de Previsão: Após o treinamento, cada árvore faz previsões para pontos de dados. Para classificação, usamos votação direta ou ponderada para criar uma previsão; para regressão, as previsões são médias para fornecer o resultado final.
Podemos notar uma característica interessante de uma árvore aleatória: cada modelo base é treinado não apenas em um subconjunto aleatório do conjunto de treinamento, mas também em um subconjunto aleatório de características. Como resultado, obtemos modelos base mais independentes e, consequentemente, previsões finais mais precisas.
Exemplo
Vamos resolver uma tarefa de classificação usando Floresta Aleatória no conjunto de dados Iris:
Code Description
scikit-learn
: -
load_iris
: Used to load the Iris dataset.-
train_test_split
: Used to split the dataset into training and testing sets.-
RandomForestClassifier
: The classifier we'll be using, which is part of the ensemble module.-
f1_score
: The function to calculate the F1 score for model evaluation.load_iris
.- Extract the features into
X
and the target variable into y
.train_test_split
.test_size=0.2
specifies that 20% of the data will be used for testing.RandomForestClassifier
with n_estimators=100
(number of trees in the forest) and n_jobs=-1
(to train the model using all processors in parallel).- Train the classifier using the training data (features and target) with the
.fit()
method.X_test
).- Store the predicted labels in
y_pred
.f1_score()
function.- The
average='weighted'
parameter indicates that the F1 score sho
Tudo estava claro?