【问题标题】:Machine Learning Predict Another Values机器学习预测另一个值
【发布时间】:2020-03-16 04:22:27
【问题描述】:

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

但是,当我尝试使用经过训练的数据来预测新值时,我遇到了一个错误,上面写着

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

您可以在下面查看我的代码。此时我必须做什么?

    with open('trained.pickle', 'rb') as read_pickle:
        loaded=pickle.load(read_pickle)

    dataset2 = pandas.read_csv('/root/Desktop/predict.csv' , encoding='cp1252')
    X2_train=dataset2['text']
    train_tfIdf = vectorizer_tfidf.fit_transform(X2_train.values.astype('U'))
    x = loaded.predict(train_tfIdf)
    print(x)

【问题讨论】:

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

标签: python-3.x machine-learning


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-02
    • 1970-01-01
    • 2018-10-02
    • 2011-10-04
    • 1970-01-01
    • 2017-04-21
    • 2017-05-03
    相关资源
    最近更新 更多