我正在构建一个自动清理流程,用于清理数据集中的空值。我发现了一些函数,如众数、中位数、均值,可以用来填充给定数据中的 NaN 值。但我应该选择哪一个呢?如果数据是分类的,则必须是众数或中位数,而对于连续数据,则必须是均值或中位数。因此,为了定义数据是分类数据还是连续数据,我决定制作一个机器学习分类模型。
我采用了一些功能,例如,
1)数据的标准差
2) 数据中唯一值的数量
3)数据总行数
4) 唯一总行数的比率
5) 数据最小值
6) 数据最大值
7) 中位数和第 75 个百分位数之间的数据数量
8) 中位数和第 25 个百分位数之间的数据数量
9) 75% 和上 mustache 之间的数据数量
10) 25% 和更低 mustache 之间的数据数量
11) 上须上方的数据数量
12) 下须下方的数据数量
首先,通过这 12 个特征和大约 55 个训练数据,我使用标准化形式上的逻辑回归模型来预测标签 1(连续)和 0(分类)。
有趣的是它成功了!!
但是,我做得对吗?这是预测数据性质的正确方法吗?如果我可以进一步改进,请告诉我。
最佳答案
数据分析看起来很棒。对于部分
But which one I should select?
据我测试,均值始终是赢家。对于每个数据集,我都会尝试测试所有情况并比较准确性。
有一个更好的方法,但有点耗时。如果您想推进这个系统,这会有所帮助。
对于每个缺失数据的列,找到其最近的邻居并将其替换为该值。假设您有 N 列(不包括目标),因此对于每一列,将其视为因变量,其余 N-1 列视为独立变量。并找到其最近邻,然后其输出(因变量)就是缺失属性的期望值。
关于machine-learning - 数据科学中的连续或分类数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48458086/