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(1082d)
R_old_tips3(2378d)
Rの備忘録(4415d)
Last-modified: 2010-09-02 (木) 12:53:17 (5618d)