Учебный репозиторий с выполненными практическими работами и итоговым проектом по курсу «Методы анализа данных и машинного обучения» МФТИ.
Материалы охватывают два основных блока курса:
- Модуль 1 — Базовые алгоритмы машинного обучения
- Модуль 2 — Глубокое обучение
Все работы выполнены в формате Jupyter Notebook. Репозиторий показывает практику работы с табличными данными, классическими ML-алгоритмами, NLP, компьютерным зрением и нейросетевыми моделями, а также содержит отдельный end-to-end проект по обработке видео и речи.
- 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.
- 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-видео:
- загрузка видео и доступных оригинальных английских субтитров с YouTube;
- извлечение и подготовка аудиодорожки для распознавания речи;
- автоматическая транскрибация аудио с помощью OpenAI Whisper (
medium.en); - оценка качества распознавания относительно исходных субтитров с использованием метрики WER (Word Error Rate);
- машинный перевод распознанного текста с английского на русский язык с помощью Hugging Face Transformers и модели
Helsinki-NLP/opus-mt-en-ru; - преобразование результатов распознавания и перевода в структурированные субтитры и сохранение русской версии в формате 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-пайплайна из нескольких моделей и инструментов.