【发布时间】:2019-10-01 16:08:14
【问题描述】:
这可能看起来是个小问题。但是我陷入了从模型中预测结果的困境。我的问题是这样的:
我有一个形状为 1000 x 19(目标特征除外)的数据集,但经过一次热编码后,它变成了 1000 x 141。 由于我在形状为 1000 x 141 的数据上训练了模型,因此我需要(至少)形状为 1 x 141 的数据进行预测。 我也知道在 python 中,我可以使用来进行未来预测
model.predict(data)
但是,由于我是通过一个 1 x 19 形状的门户网站从最终用户那里获取数据。现在我很困惑如何进一步根据用户数据进行预测。
如何将形状为 1 x 19 的数据转换为 1 x 141,因为我必须保持与训练/测试数据相同的顺序意味着列的顺序不应不同? 对此方向的任何帮助将不胜感激。
【问题讨论】:
-
如果你使用的是最新的sklearn版本的OneHotEncoder,你可以简单地使用内置的inverse transform方法
-
为什么不使用与训练数据预测功能相同的技术(一种热编码)将用户数据的特征从 19 个特征转换为 141 个特征?
-
感谢您的回复。但请不要介意。你不认为这不是一个答案。您可以在评论而不是回答中提出这些建议。顺便说一句,需要与以前的数据保持一致,而您建议的方法无法做到这一点
-
@G.Anderson。你能用任何例子解释一下吗?我怎样才能使用逆变换。我阅读了文档,但我仍然不清楚整个情况。如果我有形状为 1x141 的数据,它可以解决我的问题
标签: python machine-learning scikit-learn random-forest prediction