gpt4 book ai didi

python - SK学习: Losing names of columns when using TfidfVectorizer

转载 作者:太空宇宙 更新时间:2023-11-04 09:56:55 25 4
gpt4 key购买 nike

我有一个代表文章的字符串,叫做text。我正在尝试在其上运行 TFIDF 并得到一个数据框。生成的数据框应将每个单词作为列名。这是我的尝试:

corpus = [text]
tfidf_transformer = TfidfVectorizer(min_df=1, ngram_range=(1,1), use_idf=True)
tfidf_df = tfidf_transformer.fit_transform(corpus)
tfidf_df = pd.DataFrame(tfidf_df.toarray())

print 'tfidf_df: ', tfidf_df.head()

此代码运行后,我将数字作为我的列名称,而不是代表 TFIDF 中的特征的单词。

我应该如何让列成为 text 字符串中遇到的每个单词?

谢谢!

最佳答案

您可以使用 TfidfVectorizer 中的 vocabulary_ 属性。

示例:

# -*- coding: utf-8 -*-

from sklearn.feature_extraction.text import TfidfVectorizer
import pandas as pd
import numpy as np

corpus = ["quick brown fox", "something else"]

tf_idf = TfidfVectorizer(min_df=1, ngram_range=(1,1), use_idf=True).fit(corpus)
vocab = tf_idf.vocabulary_
tf_idf_df = tf_idf.transform(corpus)

# make sure keys are sorted
tf_idf_df = pd.DataFrame(tf_idf_df.toarray(), columns=sorted(vocab.keys()))
tf_idf_df
brown else fox quick something
0 0.57735 0.000000 0.57735 0.57735 0.000000
1 0.00000 0.707107 0.00000 0.00000 0.707107

关于python - SK学习: Losing names of columns when using TfidfVectorizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45423839/

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