Реалізація на Тестовому Наборі Даних
Тепер ви розглянете практичний приклад застосування кластеризації 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.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Чудово!
Completion показник покращився до 3.23
Реалізація на Тестовому Наборі Даних
Свайпніть щоб показати меню
Тепер ви розглянете практичний приклад застосування кластеризації 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.
Дякуємо за ваш відгук!