python-3.x - 在训练和测试中的数据点有不同数量的类别时,如何处理分类数据?
问题描述
我正在从事以下 Kaggle 项目:https ://www.kaggle.com/c/house-prices-advanced-regression-techniques 。
我的问题是,如果有一个分类值的选项在测试数据中,但不在训练数据中,反之亦然。例如,如果数据点 A 在训练数据中有选项 [a,b],但在测试数据中有选项 [a,b,c],反之亦然。谢谢你的帮助!
我只想能够正确地训练和运行我的神经网络。
解决方案
你是 OneHotEncoding ( https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html ) 你的分类数据吗?您可以通过在拆分之前对分类列进行 OneHotEncoding 来避免此问题。这意味着将训练模型以考虑此列。这种方法的一个缺点是训练只会看到代表在训练集中看不到的值的列的“0”值。也许不是最好的选择,但可以解决您看到的问题?
问题是由于您的数据集非常小,还是因为您的列具有很多唯一值?
推荐阅读
- kubernetes - 如何使用 kubectl 修补 statefulset envFrom
- python - 无法使用flask和pyodbc连接到mysql服务器
- sapui5 - 将 Angular 应用程序从 neo 迁移到 SAP Cloud Foundry
- python - python - 如何通过python中的id合并python中的两个api?
- intellij-idea - 用于转储整个堆栈/调用跟踪以进行比较的资源
- phpspreadsheet - PHPSpreadsheet 无法保存从模板加载的折线图(被“另一个用户”锁定)
- r - Ewma 的时间序列回报
- flutter - Flutter 与其他应用程序共享链接,并带有单独的描述
- cordova - 离子cordova插件cordova-plugin-googleplus错误10
- python - Pygame Zero 中 Actor 函数的“pos”不起作用