Вы можете использовать scikit-learn для кластеризации k-средних.Пожалуйста, ознакомьтесь с приведенным ниже кодом, чтобы узнать, как его реализовать.
from sklearn.cluster import KMeans
# ---------- DATA ----------------
import numpy as np
np.random.seed(0)
# generated training data
data = np.random.randint(1, 1000, size=(500, 25)) # data has 500 samples with 25 dim each
# testing data
test_data = np.random.randint(1, 1000, size=(10, 25)) # test_data has 10 samples with 25 dim each
# --------------------------------
# using KMean clustering from scikit-learn for training
kmeans = KMeans(n_clusters=16, random_state=0).fit(data) # creating 16 clusters with the data
# labels for your clusters
kmean_labels = kmeans.labels_
# Predict the closest cluster for each sample
predicted_labels = kmeans.predict(test_data)
Для получения более подробной информации вы можете обратиться по этой ссылке .