НачатьНачать бесплатно

Обучение K-средних

Теперь, когда RDD готов к обучению, во второй части вы протестируете модель со значениями k от 13 до 16 (для экономии времени вычислений) и используете метод локтя, чтобы выбрать оптимальное k. Суть метода локтя состоит в том, чтобы запустить кластеризацию K-средних на наборе данных для разных значений k, вычислить сумму квадратов ошибок внутри кластеров (WSSSE) и выбрать наилучшее k по резкому снижению WSSSE — то есть в точке «локтя». Затем вы переобучите модель с оптимальным k и получите центроиды (центры кластеров).

Напомним, что SparkContext sc и RDD rdd_split_int уже доступны в вашем рабочем пространстве.

Это упражнение является частью курса

Основы Big Data с PySpark

Посмотреть курс

Инструкции к упражнению

  • Обучите модель KMeans с числом кластеров от 13 до 16 и выведите значение WSSSE для каждого варианта.
  • Снова обучите модель KMeans с наилучшим значением k.
  • Получите центры кластеров (центроиды) модели KMeans, обученной с наилучшим k.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Train the model with clusters from 13 to 16 and compute WSSSE
for clst in range(13, 17):
    model = KMeans.____(rdd_split_int, clst, seed=1)
    WSSSE = rdd_split_int.____(lambda point: error(point)).reduce(lambda x, y: x + y)
    print("The cluster {} has Within Set Sum of Squared Error {}".format(clst, ____))

# Train the model again with the best k
model = KMeans.train(rdd_split_int, k=____, seed=1)

# Get cluster centers
cluster_centers = model.____
Редактировать и запускать код