Compartilhamento de tecnologia

Guia de aprendizado de IA Aprendizado de máquina - treinamento e previsão do modelo de clustering K-means

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Guia de aprendizado de IA Aprendizado de máquina - treinamento e previsão do modelo de clustering K-means

A inteligência artificial (IA) é um dos temas mais quentes do mundo atualmente e está mudando a forma como vivemos e trabalhamos. Como um ramo importante da IA, o aprendizado de máquina mostrou grande potencial e valor em vários campos. No aprendizado de máquina, o clustering é um algoritmo importante, e o clustering K-means é um dos métodos clássicos. Neste blog, apresentaremos em detalhes o processo de treinamento e o processo de previsão do modelo de clustering K-means e forneceremos exemplos para ilustrar como usar o clustering K-means para realizar análises de cluster em dados.

Modelo de agrupamento K-means

O agrupamento K-means é um algoritmo de aprendizagem não supervisionado que divide as amostras no conjunto de dados em K clusters para tornar a distância entre as amostras no mesmo cluster a menor possível e a distância entre os diferentes clusters a maior possível. No agrupamento K-means, cada cluster é representado por um centróide, e o agrupamento é realizado iterativamente, minimizando a distância entre as amostras no cluster e o centróide.

O processo de agrupamento K-means pode ser dividido aproximadamente nas seguintes etapas:

  1. Selecione K pontos centrais iniciais
  2. Atribua cada amostra ao cluster com o ponto central mais próximo
  3. Atualize o centróide de cada cluster
  4. Repita as etapas 2 e 3 até que a alocação de clusters não seja mais alterada ou o limite superior do número de iterações seja atingido.

O processo de predição do modelo de agrupamento K-means consiste em atribuir novas amostras ao cluster com o centróide mais próximo.

Processo de treinamento do modelo de clustering K-means

Nesta parte, apresentaremos detalhadamente o processo de treinamento do modelo de agrupamento K-means. Para facilitar a explicação, usaremos a biblioteca scikit-learn do Python para demonstração.

Primeiro, precisamos importar as bibliotecas relevantes:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
  • 1
  • 2
  • 3
  • 4

A seguir, geramos alguns dados simulados para demonstrar:

X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
  • 1

Podemos então usar o modelo de clustering K-means para treinar nos dados:

kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
  • 1
  • 2

Por fim, podemos visualizar os resultados do treinamento, bem como os centróides dos clusters:

plt.scatter(X[:, 0], X[:, 1], s=50, c="lightblue", marker="o", edgecolor="black")
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=250, marker="*", c="red", edgecolor="black")
plt.show()
  • 1
  • 2
  • 3

Através das etapas acima, concluímos o processo de treinamento do modelo de agrupamento K-means e também obtivemos uma imagem visual dos resultados do treinamento.

Processo de previsão do modelo de agrupamento K-means

A seguir, vamos apresentar o processo de predição do modelo de agrupamento K-means. No modelo de agrupamento K-means, o processo de predição consiste em atribuir novas amostras ao agrupamento com o centróide mais próximo.

Primeiro, podemos usar o modelo de clustering K-means treinado para prever novas amostras:

new_samples = np.array([[0, 0], [4, 4]])
predicted_labels = kmeans.predict(new_samples)
print(predicted_labels)
  • 1
  • 2
  • 3

No código acima, criamos duas novas amostras[0, 0]e[4, 4], E usepredict método para prevê-lo. Finalmente, obtemos os rótulos de cluster previstos para novas amostras.

Exemplo

Para compreender o processo de treinamento e predição do modelo de agrupamento K-means de forma mais intuitiva, iremos ilustrá-lo com um exemplo específico.

Suponha que temos um conjunto de dados com três recursosX , queremos dividi-lo em 3 clusters. Primeiro, podemos treinar os dados usando um modelo de agrupamento K-means:

kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
  • 1
  • 2

A seguir, aplicamos o modelo treinado a novas amostras:

new_samples = np.array([[1, 1, 1], [2, 2, 2]])
predicted_labels = kmeans.predict(new_samples)
print(predicted_labels)
  • 1
  • 2
  • 3

Através dos exemplos acima, podemos ver claramente o processo de treinamento e predição do modelo de agrupamento K-means.

Resumir

Através da introdução deste blog, temos uma compreensão detalhada do processo de treinamento e do processo de previsão do modelo de clustering K-means e demonstramos por meio de exemplos como usar a biblioteca scikit-learn do Python para realizar o clustering K-means. O agrupamento K-means é um algoritmo de agrupamento simples e eficiente que pode ser aplicado a vários campos, incluindo análise de dados, processamento de imagens, etc. Espero que este blog ajude você a aprender aprendizado de máquina e inteligência artificial!