我正在使用sklearn构建一个文本分类器(13个类别),我正在尝试实现一个管道,以便对分类器和向量化器参数(min_df,max_df等)进行CV网格搜索。
分类器将用于一组已经可用的50k文档中,我可以在类似文档附近进行大约5k的注释。
由于带注释的训练文档并非完全来自同一来源,因此我不想使用带注释的语料库中的特征提取来训练分类器,而是从主要未注释的语料库中训练分类器。因此,我首先在主要的非注释文档中使用TfidfVectorizer:
vectorizer = TfidfVectorizer(ngram_range=(1,2),min_df = 0.01,max_df = 0.95,stop_words = None,use_idf=True,smooth_idf = True)
vectorizer.fit(non_annotated_docs)
然后,从这个学习的词汇表中,我计算出将用作分类器输入的特征:
X_tfidf = vectorizer.transform(annotated_docs)
X_tfidf = X_tfidf.toarray()
所以我的问题是如何使用gridsearchcsv为annotated_docs语料库进行管道,但是使用来自non_annotated_docs的拟合?