如何解决如何在Kaggle上估算Sberbank俄罗斯住房市场数据集中缺少的“ build_year”列?
我正在从事一个学术项目,该项目涉及根据Sberbank Russian Housing Market数据集预测房价。但是,我被困在特定列的data cleaning
处理中,该处理指示构建属性的日期。我不能只用平均值或中位数来代替impute
缺失值。我一直在寻找所有可能的方式来推算有意义的数据,而不仅仅是随机数。另外,该项目的范围仅允许我在linear regression models
中使用R
,所以我不希望像XGBoost
这样的模型自动处理插补。
解决方法
您的问题非常广泛。实际上,这里有多个R软件包可以为您提供帮助:
-
missForest
-
imputeR
-
mice
-
VIM
-
simputation
甚至更多,有一个完整的官方TaskView专门列出R中的插补程序包。主要查找单个插补程序包,因为它们很适合您的任务。
无法告诉您,哪种方法最适合您的特定任务。这取决于您的数据和事后使用的线性回归模型。
因此,您必须进行测试,使用插补算法和回归模型的哪种组合才能获得最佳的总体性能。
因此,总体而言,您正在测试使用哪种功能工程/预处理+插补算法+回归模型来归档最佳结果。
请注意测试中的泄漏(在测试和训练数据集之间意外共享信息)。通常,您可以组合训练+测试数据并在完整的数据集上执行插补。但重要的是,应从测试数据集中删除目标变量。 (因为您不会获得真实数据)
大多数提到的软件包都非常易于使用,下面是missForest的示例:
library("missForest")
# create example dataset with missing values
missing_data_iris <- prodNA(iris,noNA = 0.1)
# Impute the dataset
missForest(missing_data_iris)
其他软件包同样易于使用。通常,对于所有这些单一插补包来说,它只是一个函数,您输入不完整的数据集,而无需NA即可获得数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。