【发布时间】:2021-02-06 07:17:44
【问题描述】:
我有几行简介(文本格式),我想使用 tf-idf 来定义每个单词的权重。下面是代码:
def remove_punctuations(text):
for punctuation in string.punctuation:
text = text.replace(punctuation, '')
return text
df["punc_blurb"] = df["blurb"].apply(remove_punctuations)
df = pd.DataFrame(df["punc_blurb"])
vectoriser = TfidfVectorizer()
df["blurb_Vect"] = list(vectoriser.fit_transform(df["punc_blurb"]).toarray())
df_vectoriser = pd.DataFrame(x.toarray(),
columns = vectoriser.get_feature_names())
print(df_vectoriser)
我得到的只是一个庞大的数字列表,我什至不确定它是给我的 TF 还是 TF-IDF,因为常用词(the、and 等)都有更高的分数大于 0。
目标是查看下面显示的 tf-idf 列中的权重,我不确定是否以最有效的方式执行此操作:
【问题讨论】:
-
请显示minimal reproducible example,其中包含您要调试的输入数据(作为文本)和错误消息。也请考虑How to Ask
标签: python machine-learning scikit-learn nlp tf-idf