2013-01-27 5 views
1

бегаю K-средства с использованием:Mahout - векторы кластера

KMeansDriver.run(new Path("./bd.seq.file"), new Path(clustersLoc), new Path("output"), 
      new EuclideanDistanceMeasure(), 0.001, 10, true, 0.5, false); 

Моя цель состоит в том, чтобы знать, что кластер каждый из моих исходных векторов принадлежат. Насколько я понимаю, это должно быть в output/clusteredPoints/part-m-00000, однако этот файл выглядит как пустой (120 байт) файл последовательности.

Что дает?

+0

Еще одна подсказка, которую я только что узнал. Это происходит только на Mahout 0.7. Таким образом, это либо ошибка, либо недокументированное изменение поведения. В Mahout 0.5 я получил файл по пути output/clusteredPoints /part-m-00000, содержащий отображение вектора в кластер ... –

ответ

1

ОК, я, наконец, получил его (по крайней мере частично). Это связано с 8-м параметром KMeansDriver.run(). Если он имеет значение '0', он ведет себя так же, как в Mahout 0.5. имя параметра является «clusterClassificationThreshold» и его Javadoc состояния:

Является ли удаление parrameter кластеризация строгость/останец. Его значение должно быть в диапазоне от 0 до 1. Векторы с pdf ниже этого значения будут не кластеризованы.

Для любых новичков Mahout, таких как я, pdf является аббревиатурой «Функция плотности вероятности». Я не уверен, что у меня действительно есть то, что этот параметр (googling здесь не помог, javadocs - это ВСЕ, что вы получите), но я предполагаю, что, поскольку это часть механизма, который фильтрует исходные векторы, разработчики Mahout выбрали для отключения точек кластеризации в случае, если это не «0».

 Смежные вопросы

  • Нет связанных вопросов^_^