2016-08-26 71 views
0

上有产生用于text2vec封装的DTM(文件项矩阵),例如其中构建矩阵之后施加TFIDF加权下列文件:R中的text2vec转换新数据?

data("movie_review") 
N <- 1000 
it <- itoken(movie_review$review[1:N], preprocess_function = tolower, 
tokenizer = word_tokenizer) 
v <- create_vocabulary(it) 
vectorizer <- vocab_vectorizer(v) 
it <- itoken(movie_review$review[1:N], preprocess_function = tolower, 
tokenizer = word_tokenizer) 
dtm <- create_dtm(it, vectorizer) 
# get tf-idf matrix from bag-of-words matrix 
dtm_tfidf <- transformer_tfidf(dtm) 

常见的做法是建立一个DTM基于在训练数据集上并将该数据集用作模型的输入。然后,当遇到新数据(测试集)时,需要在新数据上创建相同的DTM(意思是训练集中使用的所有相同术语)。无论如何,在包中以这种方式转换新的数据集(在scikit中,我们只有这种类型的实例有一个转换方法)。

+0

任何胆量来解释为什么downvoted? –

+1

不需要“胆量”来解释。只需将您的指针悬停在向下箭头上即可。在这个问题上冒犯的可能性很大。没有代码。没有示例数据。没有解释可以预期什么样的模型构建或评分。没有解释什么是“DTM”......是的,我知道它(可能)是什么,但许多程序员可能不会。所以我必须同意它至少“不清楚”,也没有太多的“研究努力”被证明,这些都是倒退的完全正确理由。除非扩展以解决其许多缺陷,否则似乎也是无用的。 –

+1

悬停不显示任何东西?它令人沮丧的时候有人不投票解释。这类问题集中在一个特定的软件包上,我的假设是如果你已经使用它并可以远程回答这个问题,你就会知道文档术语矩阵是什么。代码也是一个难题......因为我想知道的不是这里是一些代码,它有什么问题 - 但相反,包可以做'x'。我会尽量扩大它,但我感谢你的意见。 –

回答

4

其实当我开始text2vec我把那条管道放在第一位。现在我们正在准备新版本documentation

对于V0.3以下应该工作:

data("movie_review") 
train_rows = 1:1000 
prepr = tolower 
tok = word_tokenizer 

it <- itoken(movie_review$review[train_rows], prepr, tok, ids = movie_review$id[train_rows]) 
v <- create_vocabulary(it) %>% 
    prune_vocabulary(term_count_min = 5) 

vectorizer <- vocab_vectorizer(v) 
it <- itoken(movie_review$review[train_rows], prepr, tok) 
dtm_train <- create_dtm(it, vectorizer) 
# get idf scaling from train data 
idf = get_idf(dtm_train) 
# create tf-idf 
dtm_train_tfidf <- transform_tfidf(dtm_train, idf) 

test_rows = 1001:2000 
# create iterator 
it <- itoken(movie_review$review[test_rows], prepr, tok, ids = movie_review$id[test_rows]) 
# create dtm using same vectorizer, but new iterator 
dtm_test_tfidf <- create_dtm(it, vectorizer) %>% 
    # transform tf-idf using idf from train data 
    transform_tfidf(idf) 
+0

太棒了!任何想法可能会打到CRAN? –

+0

几周。但是你可以从github,branch 0.4安装它。 –

+0

@B_Miner检查新教程:http://dsnotes.com/text2vec/vectorization.html –