Как найти лучший из кластеров для алгоритма кластеризации с использованием категориальных данных - PullRequest
0 голосов
/ 18 февраля 2020

Я работаю над категориальными данными с несколькими функциями, и я застрял, зная лучшее количество кластеров для моего набора данных.

Есть ли способы найти лучший K для категориальной кластеризации данных.

Я использовал K-режимы, где нам нужно указать количество кластеров, но это не решает проблему.

Заранее спасибо за помощь

1 Ответ

0 голосов
/ 02 марта 2020

Ну, кластеризация действительно не предназначена для обычных данных. Я бы посоветовал вам взглянуть на OHE. Проверьте этот пример кода.

from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(handle_unknown='ignore')
X = [['Male', 1], ['Female', 3], ['Female', 2]]
enc.fit(X)

enc.categories_

enc.transform([['Female', 1], ['Male', 4]]).toarray()

enc.inverse_transform([[0, 1, 1, 0, 0], [0, 0, 0, 1, 0]])

enc.get_feature_names(['gender', 'group'])

drop_enc = OneHotEncoder(drop='first').fit(X)
drop_enc.categories_

drop_enc.transform([['Female', 1], ['Male', 2]]).toarray()

https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html

Или вы можете использовать OE. Вот еще пример кода.

from sklearn.preprocessing import OrdinalEncoder
enc = OrdinalEncoder()
X = [['Male', 1], ['Female', 3], ['Female', 2]]
enc.fit(X)

enc.categories_

enc.transform([['Female', 3], ['Male', 1]])

https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OrdinalEncoder.html#sklearn .preprocessing.OrdinalEncoder

Наконец, вы можете рассмотреть возможность использования Affinity Propagation, Hierarchical Clustering или DBSCAN; ссылки ниже.

https://scikit-learn.org/stable/auto_examples/cluster/plot_affinity_propagation.html

https://scikit-learn.org/stable/auto_examples/cluster/plot_agglomerative_dendrogram.html

https://scikit-learn.org/stable/auto_examples/cluster/plot_dbscan.html

Я не думаю, что результаты будут значимыми или уместными для кластеризации категориальных наборов данных. Каково «расстояние» между красным, синим и зеленым? Имеет смысл?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...