Постановка проблемы. Реализуйте алгоритм K-средних для кластеризации, чтобы создать кластер по заданным данным. (Используя Python) (Наборы данных - ирис, вино, рак груди)

Ссылка на программу и наборы данных приведена ниже.

Кластеризация K-средних - это алгоритм машинного обучения без учителя, который в основном означает, что у нас будет только ввод, а не соответствующая метка вывода. В этой статье мы увидим его реализацию с использованием Python.

K Means Clustering пытается сгруппировать ваши данные в кластеры на основе их сходства. В этом алгоритме мы должны указать количество кластеров (что является гиперпараметром), в которые мы хотим сгруппировать данные. Гиперпараметры - это переменные, значение которых необходимо установить перед применением значения к набору данных. Гиперпараметры - это настраиваемые параметры, которые вы выбираете для обучения модели, которая выполняет сам процесс обучения.

Работа алгоритма K-средних

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

Он останавливает создание и оптимизацию кластеров, когда:

  • Центроиды стабилизировались - их значения не изменились, поскольку кластеризация прошла успешно.
  • Достигнуто определенное количество итераций.

Программа для алгоритма кластеризации K-средних с использованием набора данных iris:

Шаг 1. Импортируйте библиотеки

Сначала мы импортируем библиотеки, необходимые для нашей программы.

  • Кластеризацию немаркированных данных можно выполнить с помощью модуля sklearn.cluster. Из этого модуля мы можем импортировать пакет KMeans.
  • Панды для чтения и написания электронных таблиц
  • Numpy для проведения эффективных вычислений
  • Matplotlib для визуализации данных

Шаг 2. Добавьте наборы данных, имена столбцов и построите график для набора данных.

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

Pd.read_csv используется для чтения файла csv (файла набора данных). Первая строка приведенного выше кода обозначает формат для загрузки набора данных. Мы также можем импортировать встроенные наборы данных, используя следующий код:

Iris = datasets.load_iris ()

Чтобы выполнить эту строку, вам нужно будет импортировать пакет наборов данных из sklearn. Для этого просто добавьте следующую строку над операторами импорта:

из наборов данных импорта sklearn

Следующим шагом является добавление имен столбцов, к которым мы хотим применить кластеризацию. Итак, здесь мы взяли «Длина чашелистики в см» и «Длина лепестка в см».

Оба этих столбца затем загружаются в переменные X1 и X2 соответственно. Здесь np.array используется, чтобы столбцы сохранялись в формате массива, что упростит нам выполнение кластеризации.

После этого plt.scatter (x1, x2) используется для построения диаграммы рассеяния для указанных столбцов. plt.plot () и plt.show () используются, чтобы сделать график видимым для вас.

Шаг 3: Создание нового графика и данных, применение встроенной функции kmeans и построение графика.

На следующем шаге метод numpy zip () используется для создания итератора, который будет агрегировать элементы из двух или более итераций. Затем эти заархивированные элементы загружаются в переменную X. Этот X передается в методе fit ().

Цвета и маркеры используются для обозначения цветов и маркеров ваших точек данных.

Затем мы вызываем функцию KMeans и передаем n_clusters = 3 (здесь 3 определяет количество кластеров, которые необходимо отобразить. После этого мы используем метод fit () для обучения нашей модели. () метод на) обучающих данных, по сути, является обучающей частью процесса моделирования.

Plt.scatter используется для построения центроидов кластеров. Мы передаем kmeans.cluster_centers_, чтобы нанести точки центроида на график.

Функция enumerate позволяет нам что-то перебирать и иметь автоматический счетчик.

Следующая строка plt.plot (x1 [i], x2 [i], color = colors [l], marker = markers [l]) используется для построения окончательного графика с центроидами и кластерами. сформирован успешно.

Нажмите здесь, чтобы загрузить программу и наборы данных…