Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何解决tf idf词汇错误?_Python_Scikit Learn_Tf Idf_Tfidfvectorizer - Fatal编程技术网

Python 如何解决tf idf词汇错误?

Python 如何解决tf idf词汇错误?,python,scikit-learn,tf-idf,tfidfvectorizer,Python,Scikit Learn,Tf Idf,Tfidfvectorizer,我在我的训练数据上从sklearn训练TFIDF,当我在新数据上应用词汇表时,它会给我一个关键错误,因为它没有在上面学习。 我怎样才能解决它 这是我的密码 def功能_工程(自身,输入): x=[输入序列的自分析仪(序列)] 返回x def配合(自身、输入): 如果自我词汇和自我分析: 通过 其他: 矢量器=TFIDF矢量器( ngram_range=(self.config_dict[“min_n_gram”]、self.config_dict[“max_n_gram”]),小写=False,

我在我的训练数据上从sklearn训练TFIDF,当我在新数据上应用词汇表时,它会给我一个关键错误,因为它没有在上面学习。 我怎样才能解决它

这是我的密码

def功能_工程(自身,输入):
x=[输入序列的自分析仪(序列)]
返回x
def配合(自身、输入):
如果自我词汇和自我分析:
通过
其他:
矢量器=TFIDF矢量器(
ngram_range=(self.config_dict[“min_n_gram”]、self.config_dict[“max_n_gram”]),小写=False,
停止(单词=无,最小值=2)
矢量器拟合(输入)
self.analyzer=vectorizer.build_analyzer()
self.词汇=矢量器.vocabulary_
保存对象(os.path.join(self.feature\u extraction\u文件夹,“analyzer.pickle”),self.analyzer)
保存对象(os.path.join(self.feature\u extraction\u文件夹,“词汇表.pickle”)、self.词汇表)
def转换(自身,输入):
vocab_size=len(自我词汇)
输入=自特性工程(输入)
inputs=[[self.词汇表[x]用于l中的x]用于l中的输入]##此行生成错误
返回np.数组(输入)

使用if语句解决我的问题

inputs=[[self.词汇表[x]表示输入中的x,如果self.词汇表中的x表示输入中的l]```

发生了什么错误?该错误是一个关键错误,它产生的原因是该标记不在词汇表中