У меня есть матрица A = (a1,a2,a3,...,an)'
, где a1, a2,..., an
- векторы строк. Я хочу применить алгоритм k-means
к матрице A
, чтобы скопировать вектор строки ai
(i=1,2,3...,n)
в k
кластеров или более. Предположим, что b1, b2, b3,...,bk
являются центрами кластеров k
, k
выборок случайным образом выбираются как начальные центры кластеров k
. Все образцы (a1,a2,a3,...,an
) классифицируются по их косинусовому расстоянию до центров bi (i=1,2,3,...,k)
до k
классов, то есть k
кластеров. Центры кластеров k
пересчитываются, все образцы реклассифицируются до тех пор, пока центры не изменятся, а затем получаются конечные центры b1,b2,b3,...,bk
. Для каждого кластера сохраняется только вектор, ближайший к центру кластера. Как это реализовать?Как применить алгоритм K-среднего к многомерному массиву?
ответ
Функция kmeans
(в справочной системе ) выполняет именно это. Просто используйте:
C = kmeans(A, k, 'Distance', 'cosine')
для получения желаемого результата.
Лучшее,
Я хочу применить его к вектору строки ai (i = 1,2,3 ..., n) к k кластерам или более. Не просто примените его к матрице А. Как это представить? И я также хочу это понять: для каждого кластера сохраняется только вектор, ближайший к центру кластера. Вы имеете в виду, что здесь «C» дает нам «вектор», ближайший к центру кластера? – Shawn
@Shawn Вы прочитали документацию по kmeans (ссылки в ответе)? В нем объясняется, что вывод 'C' является ячейкой массивов, каждая из которых содержит индексы кластеризованных строк. Он также объясняет, что он рассматривает входную матрицу 'A' как совокупность векторов строк, которая, насколько я понимаю, является тем, что вы просили. – Ratbert
@Shawn Не уверен, что вы не понимаете, что означает ваш «ближайший вектор». Я предполагаю, что вы можете сделать небольшой почтовый процесс, чтобы получить барицентры и вычислить ближайшие векторы. – Ratbert
- 1. numpy: применить операцию к многомерному массиву
- 2. доступ к многомерному массиву
- 3. Доступ к многомерному массиву
- 4. Как применить функцию к многомерному массиву на основе его индексов
- 5. PHP привести к многомерному массиву
- 6. Добавление значения к многомерному массиву
- 7. Присоединение массивов к многомерному массиву
- 8. Доступ к многомерному массиву/(de)
- 9. добавление значения к многомерному массиву
- 10. DelphiJson - Как получить доступ к многомерному массиву?
- 11. Как добавить к многомерному массиву в PHP?
- 12. JavaScript: Как получить доступ к многомерному массиву?
- 13. Как получить доступ к многомерному массиву?
- 14. Группируйте по многомерному массиву
- 15. Итерация по многомерному массиву Numpy
- 16. Доступ к вложенному многомерному массиву в AngularJS
- 17. JSON PHP Присоединиться к многомерному массиву
- 18. Использование применения к многомерному массиву в R
- 19. Доступ к многомерному массиву в Drupal
- 20. Доступ к многомерному массиву с массивом
- 21. Динамическое добавление массива к многомерному массиву
- 22. Итерация по многомерному массиву?
- 23. Доступ к многомерному массиву, переданному функции
- 24. Доступ к многомерному массиву в C
- 25. Доступ к многомерному массиву PHP в JavaScript
- 26. Доступ к многомерному массиву в один массив
- 27. Определение оператора для доступа к многомерному массиву
- 28. Доступ к многомерному массиву в предложении WHERE
- 29. Невозможно получить доступ к многомерному массиву Javascript
- 30. Javascript Доступ к многомерному массиву ключи
Вам необходимо написать все это самостоятельно или вам разрешено использовать библиотеки? –
@ Это волшебство, мне разрешено использовать библиотеки. – Shawn