Основы моделирования

Автор

Молчан Егор, Николаев Максим

Дата публикации

2 июня 2025 г.

1 Установим библиотеки

library(tidyverse)
library(magrittr)
library(ggforce)
library(patchwork)

library(tidymodels)
library(tidyclust)
tidymodels_prefer()

2 Для работы будем использовать датасет iris

3 Заметно, что виды ирисов хорошо кластеризуются

4 Обучение модели k_means

iris_rec <-
1  recipe(~ Petal.Length + Petal.Width, data = iris) |>
2  step_normalize(all_predictors())

3kmeans_spec <- k_means(num_clusters = 3) |>
  set_engine("stats")

iris_wf <- workflow() |> 
  add_recipe(iris_rec) |> 
  add_model(kmeans_spec)

4kmeans_fit <- iris_wf |>
  fit(data = iris)
1
Используем только признаки Petal.Length и Petal.Width для эффективной кластеризации
2
Нормализуем выбранные признаки
3
Задаём модель k-средних с 3 кластерами (три вида ирисов)
4
Обучаем модель k-средних на подготовленных данных iris

5 Эффективность модели k_means

K-means clustering with 3 clusters of sizes 50, 52, 48

Cluster means:
  Petal.Length Petal.Width
3   -1.3006301  -1.2507035
1    0.3048515   0.1648655
2    1.0245672   1.1242119

Clustering vector:
  [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
 [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 2 2 2
 [75] 2 2 2 3 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 2 3 3 3 3
[112] 3 3 3 3 3 3 3 3 2 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3
[149] 3 3

Within cluster sum of squares by cluster:
[1] 1.410870 7.202739 9.293174
 (between_SS / total_SS =  94.0 %)

Available components:

[1] "cluster"      "centers"      "totss"        "withinss"     "tot.withinss"
[6] "betweenss"    "size"         "iter"         "ifault"      

5.1 Данные хорошо разделены на 3 кластера

5.2 Таблица сопряжённости сортов и кластеров ирисов

            
             Cluster_1 Cluster_2 Cluster_3
  setosa            50         0         0
  versicolor         0        48         2
  virginica          0         4        46

6 Итоги

6.1 Что изучаем?

Данные о 150 экземплярах ириса, по 50 экземпляров из трёх видов — ирис щетинистый (Iris setosa), ирис виргинский (Iris virginica) и ирис разноцветный (Iris versicolor). Для каждого экземпляра измерялись четыре характеристики (в сантиметрах): длина чашелистика, ширина чашелистика, длина лепестка и ширина лепестка

6.2 Зачем?

Закрепление навыков работы с библиотеками tidymodels и tidyclust. Выполнение задания дает возможность научиться работать с моделью кластеризации k-means, интерпретировать её результаты и делать выводы на основе них.

6.3 Какие выводы?

  • Для эффективной кластеризации достаточно использовать признаки Petal.Length и Petal.Width

  • Setosa легко отделяется от остальных видов ирисов

  • Кластеры хорошо разделены относительно общего разброса данных between_SS / total_SS = 94%