我一直在探索xgboostR中的软件包,并经历了几个演示以及教程,但这仍然让我感到困惑:在使用xgb.cv交叉验证之后,最佳参数如何传递给xgb.train?或者我应该根据输出计算理想参数(例如nround,max.depth)xgb.cv?
param <- list("objective" = "multi:softprob",
"eval_metric" = "mlogloss",
"num_class" = 12)
cv.nround <- 11
cv.nfold <- 5
mdcv <-xgb.cv(data=dtrain,params = param,nthread=6,nfold = cv.nfold,nrounds = cv.nround,verbose = T)
md <-xgb.train(data=dtrain,params = param,nround = 80,watchlist = list(train=dtrain,test=dtest),nthread=6)
Run Code Online (Sandbox Code Playgroud) 我有一个数千行文本的数据集,我的目标是计算tfidf得分,然后计算文档之间的余弦相似度,这就是我在Python中使用gensim所遵循的教程:
dictionary = corpora.Dictionary(dat)
corpus = [dictionary.doc2bow(text) for text in dat]
tfidf = models.TfidfModel(corpus)
corpus_tfidf = tfidf[corpus]
index = similarities.MatrixSimilarity(corpus_tfidf)
Run Code Online (Sandbox Code Playgroud)
假设我们已经建立了tfidf矩阵和相似度,当我们有一个新文档进入时,我想在现有数据集中查询其最相似的文档.
问题:有没有什么方法可以更新tf-idf矩阵,这样我就不必将新文本doc附加到原始数据集并重新计算整个事物了?