Как реализовать метод kmeans в с#?
Для решения задачи кластеризации маленькой выборки из точек на плоскости методом к-средних написал вот такой код на питоне:
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
sample=np.array([[0,0], [1,2], [0, 1], [1, 1], [3,0], [4,1], [5,1], [5, 0]])
visualize = plt.scatter(sample[:, 0], sample[:, 1])
#Цетроиды
centers = np.array([[2, -1], [3, 3]])
#Применение KMeans
kmeans_clustering = KMeans(n_clusters=2, init=centers, n_init=10, random_state=1)
kmeans_clustering.fit(sample)
#Находим метки кластеров:
labels = kmeans_clustering.labels_
labels
visualization=plt.scatter(sample[:, 0], sample[:, 1], c=labels)
Не подскажете, можно ли так же просто реализовать такую задачу в c#? Если да, то как?
Ответы (1 шт):
Во-первых, вы не реализовали метод kMeans, а использовали реализацию, которую другие написали и любезно вам предоставили для использования в рамках библиотеки sklearn.
Во-вторых, хотите реализовывать на C# - реализовывайте. А если хотите опять использовать готовое решение - есть библиотека ML.Net В нем есть разные методы, в том числе методы кластеризации, в том числе kMeans. Вот здесь - описание, как пользоваться https://medium.com/machinelearningadvantage/easy-k-means-clustering-with-c-and-ml-net-7b154ccd219e Пользуйтесь.
В-третьих, учитесь самостоятельно искать в Гуугл ответы на хотя-бы вот такие, элементарнейшие вопросы.