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

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

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

Тепер ви розглянете практичний приклад застосування кластеризації K-середніх. Для цього буде використано штучний набір даних. Штучні набори даних — це спеціально згенеровані дані, які часто використовуються для демонстрацій та навчання. Вони дозволяють контролювати характеристики даних і чітко спостерігати, як працюють алгоритми, такі як 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: обчислення суми квадратів відхилень у межах кластерів для різних значень K та аналіз графіка "лікоть" для визначення потенційно оптимального K;

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

Нарешті, візуалізації відіграють ключову роль у нашій реалізації. Ми візуалізуємо:

  • Сам штучний набір даних, щоб побачити внутрішню кластерну структуру;

  • Графік WSS, щоб визначити точку "лікоть";

  • Графік силуету, щоб оцінити якість кластеризації для різних значень K;

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

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

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

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

Тепер ви розглянете практичний приклад застосування кластеризації K-середніх. Для цього буде використано штучний набір даних. Штучні набори даних — це спеціально згенеровані дані, які часто використовуються для демонстрацій та навчання. Вони дозволяють контролювати характеристики даних і чітко спостерігати, як працюють алгоритми, такі як 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: обчислення суми квадратів відхилень у межах кластерів для різних значень K та аналіз графіка "лікоть" для визначення потенційно оптимального K;

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

Нарешті, візуалізації відіграють ключову роль у нашій реалізації. Ми візуалізуємо:

  • Сам штучний набір даних, щоб побачити внутрішню кластерну структуру;

  • Графік WSS, щоб визначити точку "лікоть";

  • Графік силуету, щоб оцінити якість кластеризації для різних значень K;

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

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

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

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

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