Skip to content

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIPT_DS_MADMO

Учебный репозиторий с выполненными практическими работами и итоговым проектом по курсу «Методы анализа данных и машинного обучения» МФТИ.

Материалы охватывают два основных блока курса:

  • Модуль 1 — Базовые алгоритмы машинного обучения
  • Модуль 2 — Глубокое обучение

Все работы выполнены в формате Jupyter Notebook. Репозиторий показывает практику работы с табличными данными, классическими ML-алгоритмами, NLP, компьютерным зрением и нейросетевыми моделями, а также содержит отдельный end-to-end проект по обработке видео и речи.

Содержание

Модуль 1 — Базовые алгоритмы машинного обучения

  • Homework 1 - классификация риска заболевания сердца на датасете Heart Attack Analysis & Prediction Dataset: EDA, предобработка и кодирование признаков, подбор гиперпараметров и сравнение моделей Logistic Regression, SVC, Random Forest и KNN; лучший результат - SVC, F1-score ≈ 0.904.
  • Homework 2 - детекция мошеннических транзакций на сильно несбалансированном датасете Credit Card Fraud Detection: EDA и предобработка данных, подбор гиперпараметров Logistic Regression с помощью GridSearchCV, исследование class weighting, методов under-sampling и over-sampling (RandomUnderSampler, TomekLinks, NeighbourhoodCleaningRule, RandomOverSampler, SMOTE, ADASYN) и сравнение с BalancedRandomForestClassifier; в итоговом сравнении лучшим подходом с учётом дисбаланса выбран Balanced Random Forest.
  • Homework 3 - NLP-классификация твитов на датасете Twitter Sentiment Analysis от Analytics Vidhya для выявления расистских и сексистских высказываний: очистка и лемматизация текста, анализ дисбаланса классов, CountVectorizer и TF-IDF с N-граммами, сравнение методов over-/under-sampling и подбор гиперпараметров Multinomial Naive Bayes через GridSearchCV; macro F1-score ≈ 0.81. Дополнительно исследованы Transformer-эмбеддинги на базе sberbank-ai/sbert_large_nlu_ru.
  • Homework 4 - прогнозирование оттока держателей кредитных карт на датасете Credit Card Customers: EDA и анализ дисбаланса классов, отбор информативных признаков с помощью mutual_info_classif, обучение CatBoostClassifier с нативной обработкой категориальных признаков и подбором гиперпараметров через 5-fold grid search; accuracy ≈ 0.98, macro F1-score ≈ 0.96, F1-score класса оттока ≈ 0.93.

Модуль 2 — Глубокое обучение

  • Homework 5 - трёхклассовая классификация изображений животных на датасете Animal Faces с использованием PyTorch и transfer learning: предобработка и нормализация изображений, обучение предобученных CNN-архитектур ResNet50, MobileNetV3-Large и ResNeXt50-32x4d, подбор архитектуры, оптимизатора и learning rate с помощью Optuna; лучший результат - ResNeXt50-32x4d, validation accuracy ≈ 99.8%.
  • Homework 6 - классификация эмоций по изображениям лиц на датасете FER-2013 с использованием PyTorch и transfer learning: эксперименты с предобученными ResNet50/152, ResNeXt50, MobileNetV3 и DenseNet201, подбор архитектуры и гиперпараметров с помощью Optuna; лучшая модель - ResNeXt50_32x4d с validation accuracy ≈ 0.699. Дополнительно выполнены динамическая INT8-квантизация модели, экспорт в ONNX и проверка inference через ONNX Runtime.
  • Homework 7 - NLP-регрессия: прогноз пользовательского рейтинга по тексту отзыва на датасете KUC Hackathon Winter 2018 (Drug Review Dataset) с fine-tuning предобученной Transformer-модели DistilBERT (distilbert-base-uncased) в Hugging Face Transformers / PyTorch; токенизация через DistilBertTokenizerFast, обучение через Trainer с FP16 и выбором лучшей модели по MSE. Итоговая оценка: MSE ≈ 1.346, MAE ≈ 0.555, R² ≈ 0.875.

Итоговый проект

Мой итоговый проект в рамках завершения программы профессиональной переподготовки "Data Scientist".

Автоматическое создание и перевод субтитров для видео

Открыть итоговую работу

Разработан pipeline автоматического создания русских субтитров для англоязычных YouTube-видео:

  1. загрузка видео и доступных оригинальных английских субтитров с YouTube;
  2. извлечение и подготовка аудиодорожки для распознавания речи;
  3. автоматическая транскрибация аудио с помощью OpenAI Whisper (medium.en);
  4. оценка качества распознавания относительно исходных субтитров с использованием метрики WER (Word Error Rate);
  5. машинный перевод распознанного текста с английского на русский язык с помощью Hugging Face Transformers и модели Helsinki-NLP/opus-mt-en-ru;
  6. преобразование результатов распознавания и перевода в структурированные субтитры и сохранение русской версии в формате SRT.

Проект демонстрирует построение end-to-end pipeline обработки мультимедийных данных, объединяющего загрузку и обработку видео, Automatic Speech Recognition (ASR), оценку качества распознавания и Neural Machine Translation (NMT).

Стек: Python, OpenAI Whisper, Hugging Face Transformers, Helsinki-NLP, PyTorch, pytube, MoviePy, FFmpeg, evaluate / jiwer, pandas.

Основные технологии

Python · Jupyter Notebook · pandas · NumPy · Matplotlib · Seaborn · scikit-learn · NLTK · PyTorch · torchvision · Optuna · ONNX · Whisper · Transformers · FFmpeg

Структура репозитория

MIPT_DS_MADMO/
├── Part_1/       # базовые алгоритмы машинного обучения
├── Part_2/       # глубокое обучение
├── FINAL_WORK/   # итоговый проект
└── README.md

О репозитории

Этот репозиторий служит учебным портфолио по курсу МФТИ и демонстрирует последовательный переход от анализа данных и классических методов машинного обучения к глубокому обучению и сборке прикладного ML-пайплайна из нескольких моделей и инструментов.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages