我有一个数据集,它有三个(或可能是两个以上)列A,B和C(C是非结构化文本(即文档)) . 记录的分类不仅基于文本文档,而且基于列A,B和C的组合 . 也就是说,相同的文档文本以及A和B的不同组合在培训数据 .

C语言本身的文本分类相对容易,但是我遇到的是三个组合的挑战 . 例如,如果我的训练数据是列A,B和C列,C是文档,我可以自己使用C作为:

vectorizer = TfidfVectorizer()
vtrain = vectorizer.fit_transform(train["C"])

这将为我提供矢量化器中特征名称和词汇表的稀疏特征矩阵 . 但是,如何将A和B中的值(总是非零)与C结合使用以进一步用于分类(NB或SVM等)?

我正在考虑使用TruncatedSVD使其密集到一个可接受的n_component,如:

svd = TruncatedSVD(n_components = 100,n_iter = 5,random_state = 42)但问题是我如何将来自svd的输出与列A和B的密集矩阵组合来训练我的模型?