Скачать книгу

matplotlib.pyplot as plt

      # Загрузка данных

      data = pd.read_csv("bank_data.csv") # Предположим, у нас есть файл с данными о клиентах банка

      # Подготовка данных

      X = data[['Age', 'Income']] # Выбираем признаки, по которым будем проводить кластеризацию

      # Масштабирование данных

      from sklearn.preprocessing import StandardScaler

      scaler = StandardScaler()

      X_scaled = scaler.fit_transform(X)

      # Определение оптимального числа кластеров

      inertia = []

      for k in range(1, 10):

      kmeans = KMeans(n_clusters=k, random_state=42)

      kmeans.fit(X_scaled)

      inertia.append(kmeans.inertia_)

      # Визуализация графика локтя

      plt.plot(range(1, 10), inertia, marker='o')

      plt.xlabel('Number of clusters')

      plt.ylabel('Inertia')

      plt.title('Elbow Method')

      plt.show()

      # Выбор оптимального числа кластеров

      k = 3 # По графику локтя видим, что оптимальное число кластеров равно 3

      # Применение метода K-средних

      kmeans = KMeans(n_clusters=k, random_state=42)

      kmeans.fit(X_scaled)

      # Добавление меток кластеров в данные

      data['Cluster'] = kmeans.labels_

      # Вывод результатов

      for cluster in range(k):

      cluster_data = data[data['Cluster'] == cluster]

      print(f"Cluster {cluster + 1}:\n{cluster_data.describe()}\n")

      ```

      Описание кода:

      1. Импортируем необходимые библиотеки, такие как pandas для работы с данными, numpy для математических операций, sklearn для использования алгоритма K-средних и matplotlib для визуализации.

      2. Загружаем данные из файла "bank_data.csv". Предполагается, что у нас есть файл с данными о клиентах банка, включающими возраст (Age), доход (Income) и другие признаки.

      3. Выбираем признаки (Age и Income) для проведения кластеризации и создаем новый DataFrame X.

      4. Масштабируем данные с помощью стандартизации с помощью объекта StandardScaler.

      5. Определяем оптимальное число кластеров с помощью метода локтя (Elbow Method) и визуализируем график.

      6. Выбираем оптимальное число кластеров (в данном случае равно 3).

      7. Применяем метод K-средних с выбранным числом кластеров.

      8. Добавляем метки кластеров в исходные данные.

      9. Выводим описательную статистику для каждого кластера.

      Примечание: В приведенном коде предполагается, что у вас есть файл "bank_data.csv" с соответствующими данными о клиентах банка.

      Метод K-средних (K-means) – это один из наиболее популярных алгоритмов кластеризации в машинном обучении. Он используется для разделения набора данных на заданное число кластеров.

      Процесс работы метода K-средних выглядит следующим образом:

      1. Определение числа кластеров (K): Сначала необходимо определить, сколько кластеров требуется создать. Это может быть заранее известное число или выбор на основе анализа данных и целей задачи.

      2. Инициализация центроидов: Центроиды представляют собой точки в пространстве данных, которые инициализируются случайным образом или на основе предварительных оценок. Их количество соответствует числу кластеров K.

      3. Присвоение точек к кластерам: Каждая точка данных присваивается к ближайшему центроиду на основе некоторой меры расстояния, чаще всего используется Евклидово расстояние.

      4. Пересчет центроидов: После присвоения всех точек кластерам пересчитываются

Скачать книгу