Slide SCAD

Fazer download em pptx, pdf ou txt
Fazer download em pptx, pdf ou txt
Você está na página 1de 11

TEMA:

OTIMIZAÇÃO DE ALGORITMOS
DE ÁRVORES DE DECISÃO PARA
GRANDES CONJUNTOS DE DADOS.

1
INTEGRANTES:
TARIANA FERREIRA Nº-42565
BROLIN SEBASTIÃO Nº -27445
ELIAS ZIMBETI Nº 27592
JOAQUIM MAZEMBA Nº-42595
MIRIAMA MUZINGU Nº-43262
ANDREA PEDRO Nº-40460
ADÃO CARLOS Nº-41612

2
A otimização de algoritmos de árvores de decisão para grandes conjuntos de
dados refere-se ao processo de aplicar técnicas e estratégias com o objetivo de
melhorar a eficiência e o desempenho desses algoritmos ao lidar com conjuntos
de dados volumosos.
As árvores de decisão são modelos de aprendizado de máquina amplamente
utilizados para problemas de classificação e regressão. No entanto, quando
aplicados a grandes conjuntos de dados, podem enfrentar desafios relacionados à
escalabilidade e tempo de processamento.
A otimização desses algoritmos envolve o uso de abordagens como redução da
INTRODUÇÃO dimensionalidade, amostragem do conjunto de dados, poda da árvore, utilização
de algoritmos otimizados para grandes conjuntos de dados, paralelização do
treinamento, implementação eficiente e balanceamento de classes. Essas
estratégias visam melhorar a eficiência computacional, reduzir o tempo de
treinamento e manter ou melhorar o desempenho preditivo do modelo.
Ao otimizar algoritmos de árvores de decisão para grandes conjuntos de dados, é
possível lidar de forma mais eficaz com problemas complexos e aproveitar ao
máximo o potencial desses modelos em cenários de dados volumosos.

3
* uma árvore de decisão é um modelo de aprendizado de máquina que toma decisões com base
em testes realizados em atributos específicos de um conjunto de dados.

1. Escolha do Atributo de Decisão


A escolha é feita com base em critérios como ganho de informação, índice de Gini ou entropia.
O objetivo é encontrar o atributo que melhor separa as classes ou reduz a impureza nos
subconjuntos resultantes.

2. Divisão dos Dados


FUNCIONAMENTO O conjunto de dados é dividido em subconjuntos com base no valor do atributo
escolhido. Cada subconjunto corresponde a um ramo na árvore.

3. Criação de Nós Internos


Os nós internos representam testes de decisão. Cada nó interno contém uma condição
sobre um atributoleva a um ou mais ramos, correspondendo a diferentes valores
possíveis desse atributo.

4
Recursividade:
O processo é repetido recursivamente para cada subconjunto criad
1. ID3 (Iterative Dichotomiser 3): é um dos primeiros algoritmos

2. C4.5: é uma evolução do ID3. Ele utiliza a razão de ganho em

3. CART: é um algoritmo versátil que pode ser usado tanto para p

Algoritmos de árvores
de decisão mais comuns:

5
Random Forests: Random Forests são baseadas em árvores de
Decisão e constroem várias árvores e combinam seus resultados
para melhorar a precisão e evitar overfitting.

Gradient Boosted Trees: Este não é um algoritmo único, mas


que utiliza um conjunto de árvores de decisão fracas.
A ideia é treinar árvores sequencialmente, onde cada nova
Algoritmos de árvore corrige os erros das anteriores.

árvores de XGBoost (Extreme Gradient Boosting): Uma implementação


eficiente do algoritmo de Gradient Boosted Trees, conhecida por
decisão mais sua velocidade e desempenho superior.

comuns: Decision Stump: Um caso especial de árvore de decisão que


consiste em apenas um nó de decisão e duas folhas. Pode ser usado
como um componente em algoritmos mais complexos.

CHAID (Chi-squared Automatic Interaction Detection): Similar ao


C4.5, o CHAID é usado para árvores de decisão em problemas de
classificação e regressão, mas utiliza o teste qui-quadrado para dividir os
dados
6
Algumas estratégias específicas para
otimizar árvores de decisão em grandes
conjuntos de dados:

• Amostragem Eficiente: Algoritmos de Aprendizado Incremental:


• Utilize técnicas de amostragem eficientes, como amostragem Considere o uso de algoritmos de aprendizado incremental
aleatória ou amostragem estratificada, para reduzir o tamanho que permitem atualizações incrementais do modelo à
do conjunto de dados sem perder representatividade. Isso medida que novos dados chegam. Isso é especialmente útil
pode acelerar o generalização do modelo. para conjuntos de dados em constante crescimento.
Paralelização do Treinamento:
• Explore implementações paralelas ou distribuídas do
algoritmo de árvore de decisão para aproveitar o poder de
processamento de sistemas distribuídos. Muitas
bibliotecas de machine learning oferecem suporte a
treinamento paralelo.

7
Algumas estratégias específicas para
otimizar árvores de decisão em grandes
conjuntos de dados:

Poda (Pruning) Eficiente:


Aplique técnicas de poda eficientes para reduzir o tamanho
Profundidade da Árvore:
da árvore após o treinamento. A poda pode eliminar ramos
desnecessários, reduzindo a complexidade da árvore sem
Controle a profundidade da árvore de
decisão. Árvores comprometer a qualidade do modelo.

muito profundas podem levar a um


aumento Algoritmos de Aprendizado Incremental:
significativo no tempo de treinamento. Considere o uso de algoritmos de aprendizado incremental
que permitem atualizações incrementais do modelo à
medida que novos dados chegam.

8
ALGORITMO
• from sklearn.ensemble import RandomForestClassifier
• from sklearn.model_selection import train_test_split
• from sklearn.metrics import accuracy_score
• dados_clima = {
• 'Temperatura': [25, 28, 22, 18, 30, 24, 26, 20, 29],
• 'Chuva': [0, 5, 10, 2, 0, 3, 0, 15, 1],
• 'Passeio': ['Sim', 'Sim', 'Não', 'Não', 'Sim', 'Sim', 'Sim', 'Não', 'Sim']
• }
• import pandas as pd
• df = pd.DataFrame(dados_clima)
• X = df[['Temperatura', 'Chuva']]
• y = df['Passeio']
• X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
• rf_model = RandomForestClassifier(n_estimators=100, random_state=42)
• rf_model.fit(X_train, y_train)
• predictions_rf = rf_model.predict(X_test)
• accuracy_rf = accuracy_score(y_test, predictions_rf)
• print(f'Decisão de Passeio usando Random Forest: {accuracy_rf}')

9
Conclusão

• Em resumo, a otimização de algoritmos de árvores de decisão


para grandes conjuntos de dados envolve uma combinação
de abordagens, desde a manipulação eficiente dos dados até
a escolha criteriosa de hiperparâmetros. Ao empregar
estratégias eficazes de otimização, é possível criar modelos
mais escaláveis, eficientes e capazes de lidar com os desafios
apresentados por conjuntos de dados extensos.

10
OBRIGADO

Você também pode gostar