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

Кластеризация K-средних - это алгоритм обучения без учителя.

'K' в K-средних - это свободный параметр, в котором перед запуском алгоритма вы должны сообщить алгоритму, какое значение 'K' вы ищете. .

В этой статье сегодня мы собираемся решить конкретный набор данных, в котором у вас есть возраст и доход разных людей. Теперь, объединяя эти наборы данных в разные группы, мы попытаемся выяснить некоторые характеристики этих групп.

А теперь приступим.

Импорт библиотек

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

Загрузить данные

Теперь попробуем загрузить данные из файла CSV. Вы должны загрузить или сохранить его в своей локальной системе или на диске.

Здесь read_csv - это метод, который помогает загрузить файл данных. И head () представляет первые 5 строк данных.

После того, как я запустил эту ячейку, вы увидите первые 5 ячеек наборов данных, начиная с 0 до 4.

Нанесите это на диаграмму рассеяния

Поскольку наборы данных достаточно просты, я попытаюсь нанести их на диаграмму рассеяния. Здесь я просто построю график зависимости возраста от дохода.

Вы можете увидеть три кластера. Итак, в данном конкретном случае выбрать « довольно просто.

Импорт алгоритма K-средних и Fit and Predict

Итак, давайте укажем наш «K», который здесь равен 3.

Здесь я собираюсь подогнать и спрогнозировать фрейм данных, исключая столбец имени. Поскольку столбец name является строкой и не очень полезен в этом числовом вычислении.

Итак, этот оператор запустил алгоритм K-средних для возраста и дохода. И он рассчитал кластер в соответствии с нашими критериями.

Вы можете увидеть 3 кластера, включая 0, 1 и 2.

Разделить 3 кластера на 3 разных фрейма данных

Я выделил эти три фрейма данных тремя разными цветами: зеленый, красный, черный.

Диаграммы рассеяния выглядят нормально, но я думаю, что есть проблема с зелеными и черными кластерами. Вы можете видеть, что они неправильно сгруппированы.

Вы знаете, почему возникла эта проблема?

Потому что у нас неправильное масштабирование. Диапазон оси X довольно узок, а наша ось Y масштабируется от 40 000 до 160 000.

Итак, если вы не масштабируете свои функции должным образом, вы можете столкнуться с этой проблемой, и поэтому нам нужно выполнить некоторую предварительную обработку и использовать масштабатор min-max. И только тогда мы сможем безупречно запустить наш алгоритм.

Предварительная обработка с использованием скейлера min-max

Итак, у нас есть корректно масштабированные характеристики столбцов возраста и дохода.

Теперь, если вы нанесете их на диаграмму рассеяния, они будут идеально структурированы.

КУДОС… !!! Мы сделали это.

Обучите данные

Теперь следующий шаг - снова использовать алгоритм k-средних для обучения нашего масштабного набора данных.

Теперь будет весело…!

Теперь давайте изобразим эти данные на диаграмме рассеяния.

Теперь вы видите, что у меня очень красивый кластер. Они выглядят очень красиво сформированными. Не правда ли?

Участок локтя

Давайте рассмотрим методы графика локтя. Наборы данных, которые я использовал здесь, просты, но когда вы пытаетесь решить реальные проблемы, вы столкнетесь с набором данных, который будет содержать много данных и функций. И это будет сложно изобразить на диаграмме рассеяния, и это будет просто беспорядочно.

И тогда вам будет интересно, что мне теперь делать ???

Не волнуйся!

Вы можете использовать свой метод построения графика локтя.

Давайте определим наш диапазон K. Допустим, от 1 до 10.

Для K в диапазоне k я просто перебираю от 1 до 9, а затем для каждой итерации я буду создавать новую модель с кластеры = k. Тогда я смогу использовать функцию fit.

Я постараюсь уместить свой фрейм данных, но в моих данных есть столбец имени. И я не хочу использовать эту колонку. Я избегал этой колонки здесь.

Здесь sse означает сумму квадратичной ошибки. В этом случае я буду использовать параметр под названием инерция, который даст вам сумму квадратов ошибок.

Давайте изобразим это на красивую диаграмму.

Вы можете видеть, что моя точка локтя находится в тройке, и вот что произошло. У меня наконец-то 3 кластера.

На данный момент это сделано…!

Теперь вы продолжаете пробовать разные слова и играть с ними. Если у вас есть какие-либо вопросы по этой статье, дайте мне знать в разделе комментариев.

ПРОДОЛЖАТЬ ИДТИ… &

Удачного машинного обучения…!