首页 > 解决方案 > 如何将 Tfidf_vectorizer 应用于整个 pandas 列?

问题描述

首先,我对 NLP 有点陌生,所以我可能以错误的方式理解了一个概念或其他东西

我正在尝试找到一种方法将整个列向量化为 1 个文本,然后在获得结果后,我想将我正在使用的模型拟合到我的目标集。

我目前正在使用管道对我的数据框列进行矢量化,但我相信它们正在被 1 对 1 向量化,而不是将所有列连接在一起然后执行。

这是我的数据集的一个夸张的例子:

   data                                                 target
1 "conventional normal breast cancer test"              breast cancer test
2 "regular and conventional normal lung cancer test"    lung cancer test

基本上,我想给术语“breast”和“lung”一个高 tfidf 分数,因为它是独一无二的,我不希望我的模型误认为这两种类型的数据,因为它们看起来很相似

我当前的代码:

vectorizer = feature_extraction.text.TfidfVectorizer(ngram_range=(1, 3),
                         analyzer='word',)

pipe = pipeline.Pipeline([
('vectorizer', vectorizer),
('clf', linear_model.LogisticRegression())])

pipe.fit(X_train, y_train)

y_predicted = pipe.predict(X_test)

标签: pythonpandasmachine-learningnlptf-idf

解决方案


推荐阅读