Python 3.x 机器学习预测另一种价值观

Python 3.x 机器学习预测另一种价值观,python-3.x,machine-learning,Python 3.x,Machine Learning,我是ML的新手。我训练了我的数据集,然后用pickle保存它。我的训练数据集具有文本和值。我正试图从我的新数据集中得到一个估计值,它只有文本 然而,当我试图用经过训练的数据预测新值时,我得到了一个错误,即 ValueError:模型的特征数必须与输入匹配。型号n_特征为17804,输入n_特征为24635 你可以在下面查看我的代码。我现在要做什么 将open('trained.pickle','rb')作为read\u pickle: 加载=pickle.load(读取pickle) datas

我是ML的新手。我训练了我的数据集,然后用pickle保存它。我的训练数据集具有文本和值。我正试图从我的新数据集中得到一个估计值,它只有文本

然而,当我试图用经过训练的数据预测新值时,我得到了一个错误,即

ValueError:模型的特征数必须与输入匹配。型号n_特征为17804,输入n_特征为24635

你可以在下面查看我的代码。我现在要做什么

将open('trained.pickle','rb')作为read\u pickle:
加载=pickle.load(读取pickle)
dataset2=pandas.read_csv('/root/Desktop/predict.csv',encoding='cp1252')
X2_列=数据集2[“文本”]
train\U tfIdf=vectorizer\U tfIdf.fit\U变换(X2\U train.values.astype('U'))
x=已加载。预测(列车\u tfIdf)
打印(x)

适合数据,然后对其进行转换,这是您在测试时不想做的。这就像重新培训tfidf一样。因此,出于预测的目的,我建议简单地使用该方法。

您使用
17084
输入特征训练了您的模型,而现在您尝试使用
24635
特征预测某个对象,这是行不通的。Imagen你正在用11对11训练足球,然后游戏说你必须打14对14,你也会很紧张confused@PV8非常感谢你的评论,但实际上这很奇怪,因为我知道有很多工具在查找你的文本,然后给出一个结果,就像火腿或垃圾邮件一样。然而,我们知道他们正在使用大量的数据来教机器。