Пользовательские критерии для kmeans в scikit-learn - PullRequest
0 голосов
/ 24 января 2019

Я хотел бы запустить алгоритм кластеризации в scikit-learn и использовать его в стандартном конвейере (то есть мне нужно записать его. Для этого алгоритма кластеризации я хотел бы запустить kmeans N раз (т.е. с N различными начальными точками), а затем с помощью моей собственной функции выбрать лучший прогон. В настоящее время реализованная версия kmeans имеет встроенный способ запуска с N итерациями и выбора лучшего на основе минимизации внутри кластера Отклонения. По сути, я хочу скопировать эту функцию kmeans, но использовать другие критерии для «наилучшего» соответствия.

Я пытаюсь найти лучший способ сделать это. Многообещающим подходом, по-видимому, является написание моей собственной оценки (например, с использованием инструментов на https://github.com/scikit-learn-contrib/project-template/).. Кажется, что эта оценка должна была бы реализовать fit, fit_predict, fit_transform, get_params, predict, score, set_params и transform. По моему мнению, этот оценщик может просто выполнить kmeans N раз внутри страны, а затем вернуть единственное наилучшее соответствие центроида по моим критериям.

Есть ли более простой способ сделать это?

1 Ответ

0 голосов
/ 24 января 2019

Рассматривали ли вы использование наследования ?

Вы можете сделать ООП в Python.Таким образом, вы переопределяете только внешний цикл класса Kleans sklearn и наследуете все остальное.

...