Данный репозиторий является учебным. В рамках данного репозитория будут исследоваться киберугрозы и будет произведена попытка обучения нейронной сети для выявления инцидентов информационной безопасности.
tensorflow - Построение и обучение нейросети pandas, numpy - Предобработка и анализ табличных дан-ных matplotlib, seaborn - Визуализация результатов scikit-learn - Разделение выборки, метрики качества kagglehub - Загрузка датасета с платформы Kaggle
Global_Cybersecurity_Threats_2015-2024.csv - набор данных, на котором обучатся нейросеть main.py содержит начальную стадию разработки нейросети. Она пока ничего не умеет. first_itteration.ipynb - первый прототип на ноутбуке, который начал обучаться и давать результаты. second_itteration.ipynb - содержит продолжение первого прототипа, на основании main.py. Содержит улучшенниие результатов обучения и дополнительные модули. impovment_itteration.ipynb - содержит продолжение второй иттерации обучения нейросети на основании метода Random Forest. Которрый в свою очередь показывает наиболее лучшие результаты по сравнению с предыдущими моделями.
Этот проект представляет собой практическое исследование в области кибербезопасности, направленное на анализ инцидентов информационной безопасности с использованием методов машинного обучения. Исследование основано на датасете Global Cybersecurity Threats 2015–2024, размещённом на платформе Kaggle.
Разработать и сравнить два подхода к классификации инцидентов кибербезопасности:
- Нейросетевой метод (PyTorch): построение многослойной полносвязной сети для многоклассовой классификации.
- Классический метод (Random Forest): ансамблевый алгоритм на табличных данных.
├── data/
│ └── Global_Cybersecurity_Threats_2015-2024.csv
├── notebook.ipynb # Jupyter-ноутбук с исследованием
├── README.md # Описание проекта
├── requirements.txt # Зависимости (можно сгенерировать через pip freeze)
└── reports/
├── confusion_matrix_rf.png
└── pca_visualization.pngСравнение моделей по точности (accuracy) и полноте (recall) показало: • Нейросеть не справляется с разделением классов (accuracy ~13–20%) • Random Forest показывает более стабильные предсказания, задействуя все классы
Классификационный отчёт: precision recall f1-score support 0 0.33 0.27 0.30 149 1 0.34 0.30 0.32 148 2 0.28 0.35 0.31 138 3 0.41 0.45 0.43 165 accuracy 0.34 600
1. Клонируйте репозиторий:
git clone https://github.com/username/cyberthreat-classifier.git cd cyberthreat-classifier
2. Установите зависимости:
pip install -r requirements.txt
3. Запустите Jupyter Notebook:
jupyter notebook
• Kaggle dataset: Global Cybersecurity Threats 2015–2024
Шаблий Роман Кафедра информационных систем Московский университет им. С.Ю. Витте, 2025