Skip to content

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

Packages

Contributors

Languages