Sparse_Document_Term_Matrix - RとLinuxと...

RとLinuxと...


Sparse_Document_Term_Matrix

Rの備忘録

tm パッケージがはく document-term 行列の形式がデフォで sparse に変っていて,その形式が simple_triplet_matrix になっている.

処理コード探してみたら slam パッケージを取り込んでいることが分った.

RMeCab の出力であれば,以下のようにして simple_triplet_matrix に変換できる.

library(RMeCab)
test <- docMatrix2( "/home/ishida/Downloads/data/morikita")

install.packages("slam")
library(slam)
test.sparse <-  as.simple_triplet_matrix( t(test) )

また topicmodels パッケージは,Latent Dirichlet Allocation を実現する LDA() 関数を実装しているが,LDA関数はinputのクラスが,sparse な行列であり, かつ tm パッケージ独自の DocumentTermMatrix? クラスで あることを前提にしている. そこで RMeCab? の出力を as.simple_triplet_matrix 関数で sparse な triplet_matrix に変え,そのクラス属性を

"DocumentTermMatrix"

に変更すると, LDA 関数への input になる.

install.packages("topicmodels")
library(topicmodels)
class(test.sparse) <- "DocumentTermMatrix"
topic.mod <- LDA(test.sparse, control = list(alpha = 0.1), k = 5)
 
Link: RMeCab(10d) Rの備忘録(1258d)
Last-modified: 2010-09-02 (木) 12:53:17 (2461d)