我在下面的伪数据上使用tf_idf矢量化器:
file_list=["Google headquarters is in California", "Steve Jobs was a great
man", "Steve Jobs has done great technology innovations"]
如果我打印矢量化元素的形状,则会得到输出(14,)
当我保存矢量化器并随后使用该矢量化器进行转换时,形状为(1,14) 我可以知道是否做错了什么吗?
如果我们有与此类似的大数据,并且在矢量化之后将数据传递给机器学习模型,那么该模型对两者的预测是否相同?
transformer = TfidfVectorizer().fit(file_list)
file_data = transformer.transform(file_list)
with open('transformer.pickle', 'wb') as handle:
pickle.dump(transformer, handle, protocol=pickle.HIGHEST_PROTOCOL)
file_data = file_data.toarray()
with open('transformer.pickle', 'rb') as handle:
transformer = pickle.load(handle)
transformed_file = transformer.transform([file_list[0]]).toarray()
运行下面两行中的两条给出不同的输出 打印(file_data [0] .shape) 输出: (14,)
print(transformed_file.shape)
输出: (1,14)
我可以知道为什么吗?