gpt4 book ai didi

python - 在 Scikit-Learn 特征提取中合并 CountVectorizer

转载 作者:行者123 更新时间:2023-11-28 18:31:13 26 4
gpt4 key购买 nike

我是 scikit-learn 的新手,需要一些帮助来解决我一直在做的事情。

我正在尝试使用多项式朴素贝叶斯分类对两种类型的文档(例如,A 类和 B 类)进行分类。为了获得这些文档的术语计数,我在 sklearn.feature_extraction.text 中使用了 CountVectorizer 类。

问题在于两种类型的文档需要不同的正则表达式来提取标记(CountVectorization 的 token_pattern 参数)。我似乎无法找到一种方法来先加载 A 类型的训练文档,然后再加载 B 类型的训练文档。是否可以这样做:

vecA = CountVectorizer(token_pattern="[a-zA-Z]+", ...)
vecA.fit(list_of_type_A_document_content)
...
vecB = CountVectorizer(token_pattern="[a-zA-Z0-9]+", ...)
vecB.fit(list_of_type_B_document_content)
...
# Somehow merge the two vectorizers results and get the final sparse matrix

最佳答案

你可以试试:

vecA = CountVectorizer(token_pattern="[a-zA-Z]+", ...)
vecA.fit_transform(list_of_type_A_document_content)
vecB = CountVectorizer(token_pattern="[a-zA-Z0-9]+", ...)
vecB.fit_transform(list_of_type_B_document_content)
combined_features = FeatureUnion([('CountVectorizer', vectA),('CountVect', vectB)])
combined_features.transform(test_data)

您可以阅读更多关于 FeatureUnion 的信息 http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.FeatureUnion.html

从版本 0.13.1 开始可用

关于python - 在 Scikit-Learn 特征提取中合并 CountVectorizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37081597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com