Я хочу выполнить кластеризацию со средним сдвигом в R и обнаружил, что есть как минимум два пакета с такой функциональностью: MeanShift
и meanShiftR
. Как показывалось здесь последнее намного быстрее, и, поскольку я опробовал первый, и для кластеризации потребовалось много времени, я заинтересован в выборе meanShiftR
. Однако функция meanShiftR::meanShift
имеет довольно необычный способ определения пропускной способности, см. Часть документации:
queryData Матрица или вектор точек, которые должны быть классифицированы по среднему
алгоритм сдвига. Значения должны быть конечными и не отсутствовать.
пропускная способность Вектор длины, равный количеству столбцов в матрице queryData, или длины один, когда queryData является вектором. это
значение будет использоваться в оценке плотности ядра для самого крутого подъема
классификация. По умолчанию один для каждого измерения.
Я не эксперт в кластеризации со средним сдвигом, но единственные характеристики запрета, которые я нашел в литературе, это то, что пропускная способность является скалярной или положительно определенной симметричной матрицей, а не вектором. Так это технический прием для представления полосы пропускания, и значение полосы пропускания должно быть одинаковым для каждого измерения? Или может это может варьироваться?
Другая проблема заключается в том, что даже установив то же значение полосы пропускания в пакете meanShiftR, что и в MeanShift :: msClustering, но просто реплицировав его в соответствии с количеством столбцов, я получил совершенно разные результаты, в частности, гораздо большее количество кластеров. , Кроме того, режимы были довольно похожи и не представляли набор данных. Это заставило меня задуматься, работает ли этот пакет правильно. Кто-нибудь даже использовал meanShiftR
? Если да, может быть, вы могли бы привести какой-нибудь пример, поскольку документация для меня недостаточно ясна?