2015-07-22 2 views
0

Что делает этот параметр разреженности в removeSparseTerms?Удаление разреженности в матрице

Это работает.

TrigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 3, max = 3)) 
BigramTokenizer <- function(x) NGramTokenizer(x, Weka_control(min = 2, max = 2)) 
tdm <- DocumentTermMatrix(corpus, control = list(tokenize = TrigramTokenizer)) 
x <- as.matrix(removeSparseTerms(tdm, 0.99991)) 

Однако, когда я изменяю к

x <- as.matrix(removeSparseTerms(tdm, 0.10)) 

Это не работает. Матрица возвращает разреженную матрицу. Я не понимаю его правильно? Параметр 0.10 определяет, что этот термин должен присутствовать как минимум в 10% документов в корпусе?

Это из-за разреженности моей матрицы?

Запуск корпуса возвращает этот результат

corpus 
<<DocumentTermMatrix (documents: 42695, terms: 326740)>> 
Non-/sparse entries: 393990/13949770310 
Sparsity   : 100% 
Maximal term length: 97 
Weighting   : term frequency (tf) 

ответ

3

Параметр разреженности поможет вам удалить эти термины, которые имеют по крайней мере, определенный процент редких элементов. (очень) Грубо говоря, если вы хотите сохранить термины, которые появляются в 3% от времени, установите параметр равным 0,97. Если вам нужны условия, которые возникают в 70% случаев, установите для параметра значение 0,3. Значения должны быть больше 0 и меньше 1.

В вашем случае, если вы хотите, чтобы термин появился не менее 10% времени, вам необходимо установить разреженность на 0,9.

см. Код пример.

libary(tm) 

    data("crude") 
    crude <- as.VCorpus(crude) 
    crude <- tm_map(crude, stripWhitespace) 
    crude <- tm_map(crude, removePunctuation) 
    crude <- tm_map(crude, content_transformer(tolower)) 
    crude <- tm_map(crude, removeWords, stopwords("english")) 
    crude <- tm_map(crude, stemDocument) 
    dtm <- DocumentTermMatrix(crude) 
    sdtm <- removeSparseTerms(dtm, 0.3) 
    sdtm2 <- removeSparseTerms(dtm, 0.7) 

    sdtm$ncol 
    inspect(sdtm) # 4 words returned 
    sdtm2$ncol  
    inspect(sdtm2) # 24 words returned 
Смежные вопросы