如何使用 TF-IDF Vector Select 前 1000 个单词?
How to Select Top 1000 words using TF-IDF Vector?
我的文档有 5000 条评论。我在该文档上应用了 tf-idf。这里 sample_data 包含 5000 条评论。我在 sample_data 上应用 tf-idf 矢量化器 一克范围 。现在我想获得前1000个单词
来自具有 最高 tf-idf 值 的 sample_data。谁能告诉我如何获得热门词?
from sklearn.feature_extraction.text import TfidfVectorizer
tf_idf_vect = TfidfVectorizer(ngram_range=(1,1))
tf_idf_vect.fit(sample_data)
final_tf_idf = tf_idf_vect.transform(sample_data)
TF-IDF 值取决于各个文档。您可以使用 max_features
parameter of TfidfVectorizer:
根据词数 (Tf) 获取前 1000 个词
max_features : int or None, default=None
If not None, build a vocabulary that only consider the top
max_features ordered by term frequency across the corpus.
就这样:
tf_idf_vect = TfidfVectorizer(ngram_range=(1,1), max_features=1000)
你甚至可以通过使用 idf_
属性从 tf_idf_vect
中获得 'idf'
(全局词权重)在拟合(学习)文档之后:
idf_ : array, shape = [n_features], or None
The learned idf vector (global term weights) when use_idf is set to True,
调用 tf_idf_vect.fit(sample_data)
后执行此操作:
idf = tf_idf_vect.idf_
然后 select 从中选出前 1000 个并根据这些 selected 特征重新拟合数据。
但是你无法通过“tf-idf”获得前 1000 名,因为 tf-idf 是单个文档中术语 tf
的乘积idf
(global) 的词汇表。因此,对于在单个文档中出现 2 次的同一个词,tf-idf 是在另一个文档中仅出现一次的同一个词的两倍。您如何比较同一术语的不同值。希望这能说明问题。
我的文档有 5000 条评论。我在该文档上应用了 tf-idf。这里 sample_data 包含 5000 条评论。我在 sample_data 上应用 tf-idf 矢量化器 一克范围 。现在我想获得前1000个单词 来自具有 最高 tf-idf 值 的 sample_data。谁能告诉我如何获得热门词?
from sklearn.feature_extraction.text import TfidfVectorizer
tf_idf_vect = TfidfVectorizer(ngram_range=(1,1))
tf_idf_vect.fit(sample_data)
final_tf_idf = tf_idf_vect.transform(sample_data)
TF-IDF 值取决于各个文档。您可以使用 max_features
parameter of TfidfVectorizer:
max_features : int or None, default=None
If not None, build a vocabulary that only consider the top max_features ordered by term frequency across the corpus.
就这样:
tf_idf_vect = TfidfVectorizer(ngram_range=(1,1), max_features=1000)
你甚至可以通过使用 idf_
属性从 tf_idf_vect
中获得 'idf'
(全局词权重)在拟合(学习)文档之后:
idf_ : array, shape = [n_features], or None
The learned idf vector (global term weights) when use_idf is set to True,
调用 tf_idf_vect.fit(sample_data)
后执行此操作:
idf = tf_idf_vect.idf_
然后 select 从中选出前 1000 个并根据这些 selected 特征重新拟合数据。
但是你无法通过“tf-idf”获得前 1000 名,因为 tf-idf 是单个文档中术语 tf
的乘积idf
(global) 的词汇表。因此,对于在单个文档中出现 2 次的同一个词,tf-idf 是在另一个文档中仅出现一次的同一个词的两倍。您如何比较同一术语的不同值。希望这能说明问题。