Перейти к основному содержанию
EDU-MMCS
Вы используете гостевой доступ (Вход)

Data Mining - методы анализа и обработки данных

  1. В начало
  2. Курсы
  3. Весенний семестр
  4. Фундаментальная информатика и ИТ
  5. Data Mining
  6. Гладковой
  7. 7_Clustering_Project

7_Clustering_Project

Требуемые условия завершения
Открыто с: вторник, 21 апреля 2026, 00:00

Это финальный проект курса по кластеризации. В отличие от предыдущих лабораторных, здесь нет фиксированного датасета и нет единственно правильного ответа. Задача — найти интересные данные, кластеризовать их и рассказать что-то содержательное о том, что получилось.

Хорошая кластеризация — это не та, у которой высокий Silhouette Score. Это та, после которой вы можете сказать: «вот этот кластер — фильмы-катастрофы 70-х, а вот этот — французские артхаусные комедии».


Этап 1 — Выбор датасета

Найдите датасет самостоятельно. Он должен удовлетворять двум условиям: быть достаточно большим (от 500 объектов) и допускать содержательную интерпретацию кластеров — то есть каждый объект должен быть чем-то, о чём можно рассуждать.

Хорошие источники и примеры тематик:

  • Kaggle — фильмы, игры, музыка, рецепты, книги, вакансии
  • HuggingFace Datasets — тексты, новости, отзывы
  • UCI ML Repository — табличные данные
  • Собственный датасет, собранный через API (Spotify, Steam, TMDB и др.)

⚠️ Не берите MNIST, Iris, Wine и другие датасеты из предыдущих лабораторных. Цель — найти что-то своё и интересное.

У каждого студента в группе должен быть свой уникальный датасет. Для отслеживания, какой датасет взяли, впишите себя в таблицу. Если вы не вписали себя и повторились с кем-то, такая работа приниматься не будет.

Обоснуйте выбор: почему этот датасет интересен для кластеризации? Что вы ожидаете найти?


Этап 2 — Предобработка

Приведите данные в форму, пригодную для кластеризации. Что именно делать — зависит от типа данных, но в общем случае:

Табличные данные: удалить дубликаты и пропуски, нормализовать числовые признаки, закодировать категориальные (Label / One-Hot / Embedding).

Тексты: превратить в векторы — через TF-IDF или эмбеддинги (sentence-transformers, например all-MiniLM-L6-v2).

Смешанные данные (например, фильм = жанр + год + описание + рейтинг): объедините признаки осмысленно, при необходимости снизьте размерность через PCA перед кластеризацией.

Опишите все шаги предобработки и объясните свои решения.


Этап 3 — Кластеризация

Примените минимум два метода кластеризации из пройденных на курсе и сравните результаты:

  • K-Means
  • DBSCAN
  • Agglomerative Clustering
  • K-Modes (для категориальных данных)
  • Нейросетевой энкодер + K-Means

Для каждого метода подберите гиперпараметры (не оставляйте значения по умолчанию). Используйте метрики для сравнения методов между собой.

Метрики — это вспомогательный инструмент сравнения методов, а не финальная цель.


Этап 4 — Анализ кластеров ⭐

Это главная часть проекта.

Для каждого кластера изучите, какие объекты в него попали, и дайте кластеру человекочитаемое описание. Описание должно быть осмысленным — не «кластер 2 содержит 341 объект со средним рейтингом 7.3», а что-то содержательное:

«Кластер 0 — азиатские боевики 90-х с низким бюджетом» «Кластер 3 — психологические триллеры с высоким рейтингом на IMDb» «Кластер 1 — рецепты с большим количеством молочных продуктов, десерты и выпечка»

Для каждого кластера укажите:

  • 5–10 типичных примеров объектов (самые центральные, близкие к центроиду)
  • 2–3 аномальных объекта (самые далёкие от центроида) — почему они попали сюда?
  • Словесное описание кластера: что объединяет эти объекты?
  • Насколько кластер однородный или размытый?

Если кластеры не поддаются интерпретации — это тоже результат. Объясните почему: возможно, признаки выбраны неудачно, или данные не имеют естественной кластерной структуры.


Визуализация

Визуализируйте данные и кластеры в 2D с помощью PCA или t-SNE. На графике должны быть видны границы кластеров и подписаны их названия (те, что вы придумали в Этапе 4).

Дополнительно — любые графики, которые помогают понять структуру кластеров: облака слов, примеры изображений из кластера, распределения признаков по кластерам.


Что сдавать

Jupyter Notebook со всеми этапами, графиками и комментариями. Код должен воспроизводиться. В конце — раздел «Выводы»: что нашли, какой метод сработал лучше и почему, какова содержательная структура данных.


Критерии оценки (сырые баллы)

Критерий Баллы
Нетривиальный датасет и обоснование выбора 10
Качественная предобработка 15
Минимум два метода с подбором параметров 20
Содержательный анализ и описания кластеров 35
Визуализация 10
Выводы 10
Итого 100

Анализ кластеров весит больше всего остального — потому что именно в нём смысл задачи.


◄ 6_NN_Clustering
Пропустить Навигация
Навигация
  • В начало

    • Страницы сайта

      • Мои курсы

      • Теги

    • Мои курсы

    • Курсы

      • Весенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

          • Web-разработка

          • Modern Optimization Methods

          • CS292

          • Project activity

          • HTML, CSS, and Javascript

          • Frontend development

          • CS351

          • Data Mining

            • Общее

            • Кластеризация данных

            • Кластеризация данных (продолжение)

            • Категориальные признаки данных

            • Сегментация посетителей

            • Метрики качества кластеризации. ROC - кривые.

            • Разброс в кластерах, определение числа кластеров

            • Редукция размерности пространства характеристик

            • Кластеризация - резюме

            • Нейросети

            • Нейросети, классификация данных

            • Выделение фоновых данных

            • Нейросети и кластеризация данных

            • Гладковой

              • Задание0_Intro

              • Задание1_simplest_clustering

              • Задание2_K-means

              • Задание3_Clustering_comparison

              • Задание4_K_Modes

              • Задание5_Fuzzy_C-Means

              • Задание6_NN_Clustering

              • Задание7_Clustering_Project

          • GraphAlgoEn

          • [β] CS211a. ЯП С#

          • ОрбПО

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

        • ТФНД

        • МО_4курс

        • KP

        • АБМ1_ИИБ_25-26

        • Java Eng

        • МО (ПО)

      • Осенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Воскресная компьютерная школа

        • Пользователь компьютера плюс

        • Пользователь прикладных программ

        • Программирование I ступень

        • Программирование II ступень

        • Программирование III ступень

        • Архив

      • Воскресная математическая школа

        • Открытое тестирование РНОМЦ и мехмата ЮФУ

          • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2026

          • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2025

        • Олимпиадная математическая школа

        • Повышение квалификации

        • Доступная математика

        • Лаборатория математического онлайн-образования мех...

        • Осенняя универсиада

        • Научно-практическая конференция

        • ВМШ

          • ВМШ -2025

        • Летняя олимпиадная математическая школа РНОМЦ и ме...

      • Государственная итоговая аттестация

      • Дополнительное образование

      • Олимпиады

      • Видеолекции

      • Разное

      • Архив курсов

      • Заочная школа мехмата ЮФУ

Вы используете гостевой доступ (Вход)
Data Mining
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика