почему мы используем функцию kmeans.fit в методе кластеризации kmeans? - PullRequest
0 голосов
/ 06 июля 2019

Я использую технику кластеризации kmeans из видео, но я не понимаю, почему мы используем метод .fit в кластеризации kmeans?

kmeans = KMeans(n_clusters=5, random_state=0)
kmeans.fit(X) //why we use this fit method here

Ответы [ 2 ]

0 голосов
/ 06 июля 2019

kmeans является вашей определенной моделью.

Для поезда нашей модели, мы используем kmeans.fit () здесь.

Аргумент в

kmeans.fit (аргумент)

- это наш набор данных, который необходимо кластеризовать.

После использования

fit () function

наша модель готова.

И мы получаем меток для этих кластеров, используя

data_labels = kmeans.labels_

0 голосов
/ 06 июля 2019

Потому что люди-склеры рано решили, что все должно иметь fit(X, y) и predict(X) функции. И это, вероятно, не изменится из-за обратной совместимости ...

Это не имеет особого смысла для кластеризации, в которой не используется y (по умолчанию None, поскольку оно игнорируется). И нет реального варианта использования, в котором вы бы хотели замените классификатор на кластеризацию, либо.

Тем не менее, в какой-то момент вам потребуется запустить алгоритм. Это анти-паттерн делать это в конструкторе (поэтому KMeans(n_clusters=5, data=X) - это нет-нет), поэтому вам придется вызывать какой-то метод. Вы можете также назвать это fit тогда, что подходит по крайней мере для методов, основанных на оптимизации, таких как k-means.

Однако вы можете просто использовать метод k_means(X, n_clusters=5) вместо использования класса. Тогда это будет одна строка (см. Исходный код fit для примера).

...