Sparse_Document_Term_Matrix - アールメカブ

アールメカブ


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(448d) R_old_tips3(1744d) Rの備忘録(3781d)
Last-modified: 2010-09-02 (木) 12:53:17 (4984d)