4

我正在尝试使用 Sklearn 进行特征提取文本,但是出现错误

类型错误:fit_transform() 缺少 1 个必需的位置参数:'raw_documents'

看来我必须完成一些缺少原始文档的参数,但我找不到导致错误的原因,这是我的代码:

features=TfidfVectorizer.fit_transform(data.status).toarray()
label=data.label
features.shape

在 Jupyter 笔记本控制台中运行时,出现以下错误:

    TypeError   Traceback (most recent call last)\
<ipython-input-3-614f2fa78a04> in <module>()
----> 1 features=TfidfVectorizer.fit_transform(data.status).toarray()
      2 label=data.label
      3 features.shape

TypeError: fit_transform() missing 1 required positional argument: 'raw_documents'
4

1 回答 1

6

在 scikit-learn 中,带有 a 的所有内容都是fit_transform某种类型的实例,也就是说,您需要先初始化该实例,在该实例中调用fit_transform时就像是 a 一样staticmethod

vectorizer = TfidfVectorizer()因此,要么通过 let和 use创建实例,要么直接vectorizer.fit_transform(data.status)使用TfidfVectorizer().fit_transform(data.status)

您可以通过查看docs看到这一点,注意到您似乎确实传递了唯一必需的参数,并回想 Python 中的实例方法带有一个隐式参数,通常称为self,因此您的代码中发生的事情是您传递data.statusself,而未raw_documents设置。

于 2019-02-03T13:18:17.833 回答