我正在尝试使用 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'
在scikit-learn中,所有带有fit_transform
的东西都是某种类型的实例,也就是说,您需要首先初始化该实例,在其中调用fit_transform
,就好像它是staticmethod
一样。
因此,要么通过让vectorizer = TfidfVectorizer()
和使用vectorizer.fit_transform(data.status)
来创建实例,要么直接使用TfidfVectorizer().fit_transform(data.status)
。
您可以通过查看文档来了解这一点,注意到您似乎确实传递了唯一必需的参数,并回想一下 Python 中的实例方法带有一个隐式参数,通常称为 self
,因此您的代码中发生的事情是您将data.status
作为self
传递,而raw_documents
未设置。