首页 > 解决方案 > 在训练和测试中的数据点有不同数量的类别时,如何处理分类数据?

问题描述

我正在从事以下 Kaggle 项目:https ://www.kaggle.com/c/house-prices-advanced-regression-techniques 。

我的问题是,如果有一个分类值的选项在测试数据中,但不在训练数据中,反之亦然。例如,如果数据点 A 在训练数据中有选项 [a,b],但在测试数据中有选项 [a,b,c],反之亦然。谢谢你的帮助!

我只想能够正确地训练和运行我的神经网络。

标签: python-3.xjupyter-notebookdata-science

解决方案


你是 OneHotEncoding ( https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html ) 你的分类数据吗?您可以通过在拆分之前对分类列进行 OneHotEncoding 来避免此问题。这意味着将训练模型以考虑此列。这种方法的一个缺点是训练只会看到代表在训练集中看不到的值的列的“0”值。也许不是最好的选择,但可以解决您看到的问题?

问题是由于您的数据集非常小,还是因为您的列具有很多唯一值?


推荐阅读