Я хотел бы запустить алгоритм кластеризации в 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
раз внутри страны, а затем вернуть единственное наилучшее соответствие центроида по моим критериям.
Есть ли более простой способ сделать это?