Weka кластеризация с использованием частоты слова CSV-файл - PullRequest
0 голосов
/ 28 февраля 2012

У меня есть CSV-файл в этом формате:

<userName>, word1=<word1Frequency>, word2=<word2Frequency>, ...

Первая проблема заключается в том, что этот CSV-файл не имеет заголовка, который требуется WEKA.Каким должен быть заголовок?Должно ли это быть просто username, word1, word2, ...

Кроме того, можно ли импортировать для кластеризации, нормально, если он помещает 1 файл на пользователя в общую директорию?Я очень новичок в этом.Я использовал молоток раньше, так что не стесняйтесь использовать ссылку молотком.

Любая помощь будет высоко оценена.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

конвертируйте ваши файлы в формат ARFF с заголовком, как описано здесь:

http://weka.wikispaces.com/ARFF+%28stable+version%29

о чтении файлов из нескольких каталогов, я думаю, этот пример может помочь:

http://weka.wikispaces.com/ARFF+files+from+Text+Collections

НТН

1 голос
/ 01 марта 2012

Чтобы преобразовать его в формат ARFF, вам необходимо назначить каждому уникальному слову идентификатор столбца.Затем преобразуйте векторы в разреженные векторы ARFF, которые выглядят следующим образом:

{<colnr> <value>, <colnr> <value>, ...}

Где colnr - это номер атрибута integer (уникальный идентификатор столбца, который вы присвоили слову).Я считаю, что их нужно заказывать по возрастанию.

В качестве альтернативы, вы можете попробовать ELKI .Кажется, что намного больше кластеризации, чем Weka.Он имеет API синтаксического анализатора для пары форматов, может быть, один из этих форматов соответствует вашим потребностям или может быть более легко адаптирован к вашим потребностям.

TermFrequencyParser кажется почти тем, что вам нужно:

Анализатор для загрузки данных частоты терминов, которые по сути являются разреженными векторами с текстовыми ключами.

Анализ файла, содержащего частоты терминов.Ожидаемый формат: «label term1 term2 ...».Термины не должны содержать символ разделителя!

Вероятно, вы можете просто установить шаблон разделителя на [, =]+, и он сразу же прочитает ваш файл.

...