Skip to content

Análise exploratória de dados e aplicação de Machine Learning para detecção de anomalias em tráfego de redes de computadores.

Notifications You must be signed in to change notification settings

priscilar25/anomaly-detection-network-traffic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

Detecção de Anomalias em Tráfego de Redes

Este projeto utiliza técnicas de Machine Learning para detectar e analisar anomalias em tráfego de redes de computadores. O objetivo é identificar padrões de comportamento fora do comum, que podem indicar potenciais ameaças ou comportamentos anômalos. Assim, a solução contribui para a segurança e o monitoramento de redes.

🗂️ Origem dos Dados

Os dados utilizados neste projeto foram obtidos do Hugging Face - CIC IDS 2018 Dataset, uma referência em estudos de Intrusion Detection System (IDS). O dataset original foi desenvolvido pela University of New Brunswick (UNB) e está disponível também em:

O arquivo principal utilizado foi Thuesday-20-02-2018_TrafficForML_CICFlowMeter.csv.

📜 Sobre o Projeto

O núcleo do projeto envolve a análise exploratória detalhada do tráfego de rede e a aplicação de modelos de Machine Learning para identificar anomalias. São utilizadas técnicas de pré-processamento, visualização de dados e experimentação com diferentes algoritmos de detecção, buscando avaliar a performance em cenários reais de tráfego.

🎯 Objetivos

  • Conhecer e entender a estrutura dos dados de tráfego de rede com EDA.
  • Aplicar técnicas de Machine Learning para detecção de anomalias.
  • Avaliar os modelos com base em métricas como precisão, recall e F1-score.
  • Identificar padrões anômalos para apoiar ações de segurança e resposta a incidentes.
  • Visualizar e interpretar os resultados de forma acessível.

📋 Etapas do Projeto

O projeto é desenvolvido em Jupyter Notebooks, segmentando as principais fases do processo:

Notebook: eda_anomalias.ipynb

  1. Carregamento e Preparação dos Dados:

    • Leitura do arquivo CSV de tráfego de rede e tratamento inicial dos dados.
  2. Análise Exploratória de Dados (EDA):

    • Exploração das principais características do tráfego, identificação de features relevantes e visualização de padrões.

Notebook: detecao_anomalias_ml.ipynb

  1. Pré-processamento para Machine Learning:

    • Seleção de features.
    • Normalização e divisão dos dados em conjuntos para treino e teste.
  2. Aplicação de Algoritmos de Detecção de Anomalias:

    Experimentação com modelos supervisionados e não supervisionados:

    • SGDOneClassSVM (Não supervisionado)
    • Isolation Forest (Não supervisionado)
    • Random Forest (Supervisionado)
    • SVM -Support Vector Classifier (Supervisionado)
  3. Avaliação dos Resultados:

    • Análise das métricas de performance e discussão dos principais achados.

🛠️ Tecnologias Utilizadas

  • Python 3.13.5
  • Pandas:
  • NumPy:
  • Matplotlib & Seaborn:
  • Scikit-learn:
  • Jupyter Notebook:

👤 Autor

  • Priscila Borges

About

Análise exploratória de dados e aplicação de Machine Learning para detecção de anomalias em tráfego de redes de computadores.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published