如何用超过 1 个向量拟合 MultinomialNB?

How to fit a MultinomialNB with more than 1 vectors?

我对 ML 和 Whosebug 都很陌生,所以如果这是一个愚蠢的问题或者我违反了任何规则,我会提前道歉。

我有 2 个不同的特征字符串、标题和文章。我通过以下方式为标题语料库制作了 Tfidfvector 并尝试训练 MultinomialNB:

TitleString ## The corpus
titleVector = TfidfVectorizer()
titleVectorArray = titleVector.fit_transform(TitleString).toarray()
model = MultinomialNB()
model.fit(titleVectorArray, label_train)

我尝试对文章做同样的事情。

ArticleString ## The corpus
ArticleVector = TfidfVectorizer()
ArticleVectorArray = ArticleVector.fit_transform(ArticleString).toarray()
model_2 = MultinomialNB()
model_2.fit(ArticleVectorArray, label_train)

我想知道有什么方法可以同时使用 titleVectorArrayArticleVectorArray 来训练一个 MultinomialNB 模型?

我知道,我可以将两个语料库连接在一起,然后找到特征向量,但我不太了解这种方法会产生的结果。 因为,我想将两个向量都用作模型的 2 - different/separate 特征。 而且,我怎样才能在 sklearn 中实现它?

非常感谢任何帮助。

向量化器returns特征向量。如果将它们连接起来,您将拥有一组同时使用来自标题的信息和来自文章的信息的功能。所以只要做这样的事情:

TitleString ## The corpus
titleVector = TfidfVectorizer()
titleVectorArray = titleVector.fit_transform(TitleString).toarray()
ArticleString ## The corpus
ArticleVector = TfidfVectorizer()
ArticleVectorArray = ArticleVector.fit_transform(ArticleString).toarray()
model = MultinomialNB()
model.fit(np.concatenate(ArticleVectorArray, titleVectorArray), label_train)

也就是说,不能保证提高模型的质量。在这种情况下,将文本和标题连接在一起看起来很自然,因此也请尝试按照您上面的描述进行操作。