Skip to content

w0drs/SpamDetect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python FastAPI Streamlit

SpamDetector

Классификация текстовых (английских) сообщений на спам/не спам.

🎯 Что включает в себя проект?

  • ML-модель: Классификация текста с помощью XGBoost + Sentence Transformers
  • REST API: FastAPI
  • Веб-интерфейс: Streamlit для удобного взаимодействия

🛠️ Архитектура

  • Работа с датасетом: pandas
  • Текст: Эмбеддинг - Sentence Transformer (BERT)
  • Классификация: XGBoost
  • Метрики: Accuracy, Precision, Recall, F1-score

📊 Метрики модели

  • Accuracy: 0.98
  • Precision: 0.95
  • Recall: 0.87
  • f1-score: 0.91

🖼️ Демонстрация

Главный экран Пример спам сообщения Пример обычного сообщения

🏗️ Структура проекта

SpamDetect/
├── backend/                    
│   ├── app.py                 # Основной веб-интерфейс
│   └── service.py             # FastApi приложение
├── data/                  
│   └── spam_ham_data.csv      # Исходные данные
├── ml/
│   ├── dataset/
|   |   ├── load_dataset.py    # Загрузчик датасета
|   |   ├── preprocessing.py   # Обработка текста
|   |   └── split_data.py      # Разделенме датасета
│   ├── training/
|   |   ├── model_training.py  # Обучение модели
|   |   └── prediction.py      # Прогнозы модели
│   ├── utils/
|   |   ├── constants.py       # Константные значения
|   |   └── exceptions.py      # Ошибки
|   └── train.py               # pipeline обучения модели
├── models/
|   └── xgboost_clf.pkl        # Обученная модель
├── notebooks/                 # Ноутбуки с экспериментами
|   ├── 1_EDA.ipynb
|   └── 2_Training.ipynb
├── tests/                     # Тесты
|   ├── test_dataset.py
|   ├── test_preprocessing.py
|   └── test_train.py
├── pytest.ini
└── README.md

🖥️ Локальный запуск

# API сервер
uvicorn backend.service:app --reload --port 8000

# Веб-интерфейс
streamlit run backend/app.py

About

ML проект для классификации текстовых английских сообщений на спам/не спам.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors