Skip to content

AllaAndreevna/data-science-machine-learning-course

Repository files navigation

Домашние задания по Машинному Обучению

Open in Colab Python Scikit-Learn Pandas NumPy PyTorch

Репозиторий содержит мои домашние задания по курсу "Машинное Обучение". Здесь представлены практические работы, охватывающие основные темы и алгоритмы ML, от базовых операций с данными до построения моделей машинного обучения.


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

Репозиторий организован по хронологическому принципу: домашние задания выложены в порядке их выполнения.

Файл Тема Краткое описание
hw01_numpy_chernova.ipynb Основы NumPy Работа с базовыми операциями и линейной алгеброй в NumPy.
hw02_pandas_Alla.ipynb Анализ данных с Pandas Обработка и анализ табличных данных с использованием библиотеки Pandas.
hw03_EDA_Chernova.ipynb Разведочный анализ данных (EDA) Визуализация и исследование данных для выявления закономерностей.
hw04_knn_linreg_Chernova.ipynb KNN и Линейная регрессия Реализация и применение алгоритмов K-ближайших соседей и линейной регрессии.
homework_01_Chernova_fc_nn_songs.ipynb Нейронные сети для классификации песен Построение полносвязной нейронной сети для задачи классификации музыкальных треков.
homework_02_triplet_funtion.ipynb Triplet Loss и обучение представлений Реализация сети с Triplet Loss для обучения embeddings и метрического обучения.
homework_03_object_detection.ipynb Детекция объектов Создание архитектуры для детекции объектов на изображениях и работа с готовыми решениями.

Подробное описание заданий

hw01_numpy_chernova.ipynb

Тема: Основы NumPy.

  • Цель: Освоить работу с библиотекой NumPy — фундаментом для научных вычислений в Python.
  • Основные задачи:
    • Создание и манипуляция многомерными массивами (ndarray).
    • Выполнение математических операций над массивами.
    • Работа с линейной алгеброй (скалярные произведения, матричные операции).
    • Индексация, срезы и базовая булева маскировка.

hw02_pandas_Alla.ipynb

Тема: Анализ данных с Pandas.

  • Цель: Научиться эффективно работать со структурированными данными (DataFrame, Series).
  • Основные задачи:
    • Загрузка данных из CSV-файлов.
    • Предварительная обработка данных: обработка пропусков, изменение типов.
    • Фильтрация, группировка и агрегация данных (groupby, pivot_table).
    • Слияние и объединение DataFrame.

hw03_EDA_Chernova.ipynb

Тема: Разведочный анализ данных (EDA).

  • Цель: Исследовать набор данных, выявить основные закономерности, аномалии и проверить гипотезы перед построением моделей.
  • Основные задачи:
    • Анализ распределений признаков.
    • Визуализация с использованием matplotlib и seaborn (гистограммы, боксплоты, scatter plot).
    • Анализ корреляций между переменными.
    • Работа с выбросами.

hw04_knn_linreg_Chernova.ipynb

Тема: Классификация и регрессия.

  • Цель: Познакомиться с базовыми алгоритмами машинного обучения.
  • Основные задачи:
    • K-Nearest Neighbors (KNN): Реализация алгоритма для задачи классификации, подбор гиперпараметра k.
    • Линейная регрессия: Реализация метода наименьших квадратов для задачи прогнозирования, оценка качества модели (MSE, R²).
    • Разделение данных на обучающую и тестовую выборки.

homework_01_Chernova_fc_nn_songs.ipynb

Тема: Нейронные сети для классификации песен.

  • Цель: Построить и обучить полносвязную нейронную сеть (Fully Connected Neural Network) для предсказания музыкальных жанров или характеристик треков.
  • Основные задачи:
    • Предобработка аудио-признаков (например, из датасета FMA или Spotify).
    • Построение архитектуры сети с использованием TensorFlow/Keras или PyTorch.
    • Компиляция модели: выбор функции потерь, оптимизатора и метрик.
    • Обучение модели, анализ кривых обучения и валидации.
    • Оценка качества модели на тестовой выборке.

homework_02_triplet_funtion.ipynb

Тема: Triplet Loss и обучение представлений.

  • Цель: Реализовать и обучить модель с использованием Triplet Loss для создания качественных векторных представлений (embeddings).
  • Основные задачи:
    • Реализация функции Triplet Loss.
    • Создание сети для обучения embeddings.
    • Формирование триплетов (anchor, positive, negative).
    • Обучение модели метрическому обучению.
    • Оценка качества embeddings с помощью метрик (AUC-ROC и др.).
    • Результаты: Достигнут AUC-ROC = 0.8307 после 3 эпох обучения.

homework_03_object_detection.ipynb

Тема: Детекция объектов.

  • Цель: Разработать архитектуру для детекции объектов на изображениях и использовать готовые решения.
  • Основные задачи:
    • Работа с датасетами PascalVOC формата (квиддич или игральные карты).
    • Предобработка XML-аннотаций и изображений.
    • Реализация детектора объектов (самописная архитектура).
    • Использование готовых детекторов (YOLO, Faster R-CNN и др.).
    • Оценка качества детекции с помощью метрик (mAP, IoU).
    • Анализ результатов и сравнение подходов.

Технологии и библиотеки

  • Язык: Python 3.8+
  • Основные библиотеки: NumPy, Pandas, Matplotlib, Seaborn, Scikit-learn
  • Фреймворки для нейросетей: TensorFlow / Keras или PyTorch (в зависимости от задания)
  • Дополнительные библиотеки: OpenCV, Albumentations, FiftyOne (для детекции объектов)
  • Среда выполнения: Jupyter Notebook

About

There are my solutions for IAD minor course in HSE University

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors