k-средство с выбранными начальными центрами

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

init : {'k-means++', 'random' or an ndarray} 

Если ndarray передан, он должен иметь форму ( n_clusters , n_features ) и дает начальные центры.

Мой код в Python:

 X = np.array([[-19.07480000, -8.536], [22.010800000,-10.9737], [12.659700000,19.2601]], np.float64) km = KMeans(n_clusters=3,init=X).fit(data) # print km centers = km.cluster_centers_ print centers 

Возвращает ошибку:

 RuntimeWarning: Explicit initial center position passed: performing only one init in k-means instead of n_init=10 n_jobs=self.n_jobs) 

и возвращать те же начальные центры. Любая идея, как сформировать начальные центры, чтобы их можно было принять?

One Solution collect form web for “k-средство с выбранными начальными центрами”

Поведение KMeans по KMeans – это инициализация алгоритма несколько раз с использованием различных случайных центроидов (то есть метода Forgy ). Затем количество случайных инициализаций контролируется параметром n_init= ( docs ):

n_init : int, по умолчанию: 10

Число алгоритмов k-средних будет выполняться с разными центроидными семенами. Конечные результаты будут лучшим выходом n_init последовательных прогонов по инерции.

Если вы передадите массив в качестве аргумента init= то только одна инициализация будет выполняться с использованием центроидов, явно указанных в массиве. Вы получаете RuntimeWarning потому что вы все еще передаете значение по умолчанию n_init=10 ( вот соответствующие строки исходного кода).

На самом деле, полностью игнорировать это предупреждение, но вы можете полностью уйти, передав n_init=1 если ваш параметр init= является массивом.

  • Односторонний t-тест для линейной регрессии?
  • Scikit-learn: Как запустить KMeans на одномерном массиве?
  • ImportError: нет модуля с именем model_selection
  • Использование срезов в Python
  • не удалось использовать TfidfVectorizer в Google приложении
  • Запустите регрессию OLS с рамкой данных Pandas
  • Некоторые сомнения в моделировании некоторых функций библиотеки libsvm / scikit-learn в python
  • Python Не отрицательная матричная факторизация, которая обрабатывает как нули, так и отсутствующие данные?
  • Как сохранить заголовки столбцов кадра данных после предварительной обработки в scikit-learn
  • CountVectorizer удаляет функции, которые появляются только один раз
  • Есть ли что-то уже реализованное в Python для вычисления TP, TN, FP и FN для многоклассовой матрицы путаницы?
  • Python - лучший язык программирования в мире.