Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Реалізація на Тестовому Наборі Даних | K-Means
Кластерний аналіз з Python

bookРеалізація на Тестовому Наборі Даних

Свайпніть щоб показати меню

Тепер ви розглянете практичний приклад застосування кластеризації K-середніх. Для цього буде використано штучний (dummy) набір даних. Штучні набори даних — це спеціально згенеровані дані, які часто використовуються для демонстрацій та навчання. Вони дозволяють контролювати характеристики даних і чітко спостерігати, як працюють алгоритми, такі як K-середніх.

Штучний набір даних

Для цієї демонстрації буде створено штучний набір даних за допомогою функції make_blobs(). Ця функція чудово підходить для генерації кластерів точок даних у наочно зрозумілий та керований спосіб. Дані будуть згенеровані з такими характеристиками:

  • Кількість зразків: буде створено набір даних із 300 точок;

  • Кількість центрів: кількість справжніх кластерів встановлюється на 4. Це означає, що штучні дані містять чотири окремі групи;

  • Стандартне відхилення кластера: розкид точок у межах кожного кластера контролюється і встановлюється на 0.60 для відносно компактних кластерів;

  • Випадковий стан: використовується фіксований random_state для відтворюваності, що забезпечує однакове генерування даних при кожному запуску коду.

X, y_true = make_blobs(n_samples=300,
                       centers=4,
                       cluster_std=0.60,
                       random_state=0)

Реалізація K-середніх

Після створення цього штучного набору даних буде застосовано алгоритм K-середніх. Розглядається, як K-середніх намагається розділити ці дані на кластери відповідно до принципів, розглянутих у попередніх розділах.

K-середніх можна ініціалізувати та навчити у Python наступним чином:

kmeans = KMeans(n_clusters=k, random_state=42) 
kmeans.fit(X)

Для визначення оптимальної кількості кластерів для цих даних будуть використані методи, розглянуті у попередніх розділах:

  • Метод WSS: буде обчислено суму квадратів відхилень у межах кластерів (Within-Sum-of-Squares) для різних значень K та проаналізовано графік "лікоть" для визначення потенційно оптимального K;

  • Метод силуетного коефіцієнта: буде обчислено силуетний коефіцієнт для різних значень K та розглянуто графік силуетів і середні значення коефіцієнта для пошуку K, що максимізує якість кластеризації.

Візуалізації відіграють ключову роль у реалізації. Буде візуалізовано:

  • Сам штучний набір даних для перегляду внутрішньої кластерної структури;

  • Графік WSS для визначення точки "лікоть";

  • Графік силуетів для оцінки якості кластеризації при різних K;

  • Фінальні кластери K-середніх, накладені на штучні дані, для візуальної перевірки результатів кластеризації та вибраного оптимального K.

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Секція 3. Розділ 5
some-alt