Встречается на собеседованиях • сегодня

Будут ли те же кластеры при повторном запуске k-means

Нет, кластеры могут отличаться из-за случайной инициализации центроидов. K-means чувствителен к начальным точкам, поэтому для воспроизводимости нужно фиксировать random_state в sklearn.

Пример:

python
from sklearn.cluster import KMeans
kmeans = KMeans(n_clusters=3, random_state=42)  # фиксируем seed
kmeans.fit(X)

Без random_state при каждом запуске центроиды инициализируются случайно, что может привести к разным кластерам. Также на результат влияет:

  1. Разный порядок данных
  2. Разное количество итераций
  3. Разные метрики расстояния

Для стабильности можно использовать K-means++ (используется по умолчанию в sklearn), который улучшает инициализацию центроидов.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы