Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

Notifications You must be signed in to change notification settings

w0drs/SpamDetect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

12 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

No packages published

AltStyle によって変換されたページ (->オリジナル) /