Sparse_Document_Term_Matrix
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(617d)
R_old_tips3(1913d)
Rの備忘録(3950d)
Last-modified: 2010-09-02 (木) 12:53:17 (5153d)