Skip to content

Instantly share code, notes, and snippets.

View samuellangajr's full-sized avatar
:octocat:

Samuel Langa samuellangajr

:octocat:
  • Maputo, Moçambique
View GitHub Profile
@samuellangajr
samuellangajr / exercicio13.py
Created March 12, 2025 19:09
Descreva e implemente uma estratégia para lidar com um conjunto de dados de treinamento desbalanceado, onde algumas classes de veículos são muito mais frequentes que outras.
import torch
import torch.nn as nn
import numpy as np
from sklearn.utils.class_weight import compute_class_weight
from imblearn.over_sampling import SMOTE
# Dados de exemplo: classe 0: 1000 amostras, classe 1: 100 amostras
y_train = np.array([0]*1000 + [1]*100)
# 1. Pesos nas classes
@samuellangajr
samuellangajr / exercicio12.py
Created March 12, 2025 19:06
Implemente uma função que possa ser usada para avaliar o desempenho de um modelo de classificação de veículos, calculando métricas como precisão, recall e F1-score.
from sklearn.metrics import precision_score, recall_score, f1_score, confusion_matrix
def avaliar_desempenho(y_true, y_pred):
"""
Avalia o desempenho do modelo de classificação de veículos usando precisão, recall e F1-score.
Parâmetros:
y_true (list ou array): Rótulos reais (verdadeiros).
y_pred (list ou array): Rótulos previstos pelo modelo.
import torch
import torch.nn as nn
import torch.nn.utils.prune as prune
import torch.quantization
# Exemplo de um modelo simples (CNN)
class SimpleCNN(nn.Module):
def __init__(self):
super(SimpleCNN, self).__init__()
self.conv = nn.Conv2d(in_channels=3, out_channels=16, kernel_size=3, stride=1, padding=1)
@samuellangajr
samuellangajr / exercicio10.py
Created March 12, 2025 18:54
Implemente uma função que gere um mapa de calor (heatmap) representando a densidade de tráfego em diferentes regiões de uma imagem. Assuma que você tem acesso a uma lista de coordenadas de veículos detectados
import numpy as np
import cv2
import seaborn as sns
import matplotlib.pyplot as plt
def gerar_mapa_calor(imagem, coordenadas_veiculos, tamanho_mapa=(500, 500), raio=15):
"""
Gera um mapa de calor baseado nas coordenadas dos veículos detectados.
Args:
@samuellangajr
samuellangajr / exercicio9.py
Created March 12, 2025 18:53
Escreva uma função que aplique um filtro de suavização (por exemplo, filtro de média ou gaussiano) a uma série temporal de dados de tráfego para reduzir ruídos.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
def suavizar_serie_temporal(dados, janela=3):
"""
Aplica um filtro de suavização (média móvel) a uma série temporal de dados.
Args:
dados (pd.Series ou list): A série temporal de dados de tráfego.
@samuellangajr
samuellangajr / exercicio8.py
Created March 12, 2025 18:52
Implemente uma função que realize uma previsão de congestionamento com base em dados históricos. A função deve receber um dataframe com colunas 'hora', 'dia_semana', e 'volume_trafego', e retornar a probabilidade de congestionamento.
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.preprocessing import StandardScaler
from sklearn.metrics import accuracy_score
def prever_congestionamento(df):
"""
Previsão de congestionamento com base em dados históricos de tráfego.
@samuellangajr
samuellangajr / exercicio7.py
Created March 12, 2025 18:50
Escreva um script que use a biblioteca OpenCV para aplicar detecção de bordas em uma imagem de tráfego e exiba o resultado.
import cv2
import numpy as np
from matplotlib import pyplot as plt
# Carregar a imagem de tráfego
imagem = cv2.imread('caminho/para/imagem_de_trafego.jpg')
# Converter a imagem para escala de cinza
imagem_cinza = cv2.cvtColor(imagem, cv2.COLOR_BGR2GRAY)
@samuellangajr
samuellangajr / exercicio6.py
Created March 12, 2025 18:49
Implemente uma classe Python para um dataset personalizado que possa ser usado com PyTorch DataLoader. O dataset deve carregar imagens de veículos e seus rótulos correspondentes.
import torch
from torch.utils.data import Dataset, DataLoader
from torchvision import transforms
from PIL import Image
import os
# Definir a classe do Dataset personalizado
class VehicleDataset(Dataset):
def __init__(self, imagens_dir, rotulos_file, transform=None):
"""
@samuellangajr
samuellangajr / exercicio5.py
Created March 12, 2025 18:48
Escreva uma função que realize data augmentation em uma imagem de tráfego. Inclua pelo menos três técnicas diferentes de augmentation.
import torch
from torchvision import transforms
from PIL import Image
import matplotlib.pyplot as plt
# Função para realizar data augmentation
def augmentacao_imagem(imagem):
# Definindo uma sequência de transformações
transformacao = transforms.Compose([
transforms.RandomRotation(degrees=30), # Rotaciona a imagem até 30 graus
@samuellangajr
samuellangajr / exercicio4.py
Last active March 12, 2025 18:46
Implemente uma função que calcule a velocidade média do tráfego com base em dados de sensores. A função deve receber uma lista de dicionários, onde cada dicionário contém 'distancia' (em metros) e 'tempo' (em segundos) para um veículo.
def calcular_velocidade_media(dados):
# Inicializar variáveis para somar a distância total e o tempo total
distancia_total = 0
tempo_total = 0
# Iterar sobre a lista de dados
for dado in dados:
distancia_total += dado['distancia']
tempo_total += dado['tempo']