2015-03-31 2 views
-2

Например: у меня есть 100 книг по 1000 слов каждый. Они принадлежат к разным классам (комедия, драма, ...). Каждый класс состоит из 15 разных книг. Когда я делаю tfidf на своих данных, я получаю значение для каждого слова в книге в контексте всех книг. Я вижу, что книги, принадлежащие одному классу, имеют одинаковые значения tfidf для каждой переменной.Важное значение в классификации

Скажем, драма и комедия довольно похожи. Как я могу сказать, какие слова имеют значение между этими двумя классами? Какие слова я должен изменить в книге, принадлежащей комедии, так что теперь книга принадлежит драме?

Я могу проверить один за другим; но у меня 2000 книг, по 17500 слов каждая; 950 классов. Это займет десятилетие :)

ответ

0

Я бы определенно выполнял парные тесты, то есть один для каждой из 475 * 949 пар классов, которые у вас есть как «важные переменные», может сильно отличаться от случая к случаю. Затем запустите некоторый стандартный алгоритм выбора функций, такой как хи-квадрат или усиление информации. См. http://www.jmlr.org/papers/volume3/forman03a/forman03a.pdf для подробного исследования.

+0

Спасибо, отличная бумага! – enn

+0

У меня есть еще один вопрос, пожалуйста. Итак, если у меня уже есть значение tfidf для каждой функции, могу ли я просто взять два класса (комедия и драма) и сделать хи-квадрат или случайный лес только на этом? Tfidf уже дает мне общее значение функции для каждого элемента. – enn

1

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

Это должно дать вам приблизительное указание, какие слова различают два класса.

+0

Я тоже так думал, сделал это :) задавался вопросом, есть ли какая-то «умная» вещь. Tnx для вашего ответа – enn

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