Я пытаюсь сделать классификацию документов с использованием API-интерфейса Weka.Интерпретация вывода StringToWordVector() - Weka
Вот моя структура каталогов файлов данных.
+- text_example
|
+- class1
| |
| 3 html files
|
+- class2
| |
| 1 html file
|
+- class3
|
3 html files
У меня есть файл 'arff', созданный с помощью 'TextDirectoryLoader'. Затем я использую фильтр StringToWordVector
в созданном файле arff, с filter.setOutputWordCounts(true)
.
Ниже приведен образец выходного сигнала после подачи фильтра. Мне нужно разъяснить несколько вещей.
@attribute </form> numeric
@attribute </h1> numeric
.
.
@attribute earth numeric
@attribute easy numeric
Этот огромный список должен быть токенизацией содержимого исходных html-файлов. правильно?
Тогда у меня есть,
@data
{1 2,3 2,4 1,11 1,12 7,..............}
{10 4,34 1,37 5,.......}
{2 1,5 6,6 16,...}
{0 class2,34 11,40 15,.....,4900 3,...
{0 class3,1 2,37 3,40 5....
{0 class3,1 2,31 20,32 17......
{0 class3,32 5,42 1,43 10.........
почему нет атрибута класса для первых 3-х элементов? (он должен иметь класс 1). Что означает начало 0, как в {0 class2, ..}, {0 class3 ..}. В нем говорится, например, что в 3-м файле html в папке класса 3 слово, идентифицируемое целым числом 32, появляется 5 раз. Просто, чтобы узнать, как мне получить слово (токен), переданное 32?
Как уменьшить размерность вектор-функции? не нужно ли нам делать все векторы объектов одинакового размера? (например, рассмотрите только 100 наиболее частых терминов из учебного набора, а затем, когда дело доходит до тестирования, рассмотрите возможность появления только тех 100 терминов в тестовых документах. Потому что, таким образом, что произойдет, если мы придумаем совершенно новое слово на этапе тестирования классификатор просто игнорирует его?).
Я что-то упустил? Я новичок в Weka.
Также я очень ценю помощь, если кто-то может объяснить мне, как классификатор использует этот вектор, созданный с помощью фильтра StringToWordVector
. (Например, создание словаря с подготовки данных, снижения размерности, те происходит внутри кода ВЕКА?)
Да, анс немного опоздал, когда я сам узнал ответы. Но спасибо за ваш ответ, и я принимаю его. Эй, у вас есть опыт работы с одной классификацией классов с libsvm (оберткой) в weka? Я как бы застрял в этом – KillBill
@ user601 Нет, извините. Я никогда не использовал libsvm в Weka. Просто из любопытства: пишите ли вы диссертацию на тему машинного обучения/интеллектуального анализа данных? – Malhelo
да, я занимаюсь диссертацией на год, который включает в себя классификацию текста. Вы делаете что-то подобное? – KillBill