TypeError:fit_transform()缺少1个必需的位置参数:'raw_documents'

问题描述 投票:4回答:1

我正在尝试使用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'
python machine-learning scikit-learn feature-extraction tfidfvectorizer
1个回答
5
投票

在scikit-learn中,所有带有fit_transform的东西都是某种类型的实例,这就是说,您需要首先初始化该实例,在此您要调用fit_transform,就好像它是staticmethod

因此,可以通过让vectorizer = TfidfVectorizer()创建实例并使用vectorizer.fit_transform(data.status),或者直接使用TfidfVectorizer().fit_transform(data.status)

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

© www.soinside.com 2019 - 2024. All rights reserved.