我有一个 csv 文件,我正在准备使用不同的机器学习算法来训练它的数据,因此我用该列的平均值替换了数字缺失数据,但是如何处理缺失的分类数据,我应该替换它们具有最频繁的元素?以及为什么在 python 中使用 pandas 执行此操作最简单的原因是什么。
代码:
dataset = pd.read_csv('doc.csv')
X = dataset.iloc[:, [2, 4, 5, 6, 7, 9,10 ,11]].values
y = dataset.iloc[:, -1].values
第 2 行包含分类数据。
第一行值:
[3, 'S', 22.0, 1, 0, 7.25, 107722, 2]
最佳答案
关于您问题的建模部分,您最好在 CrossValidated 处提问。 。
如果有太多缺少数据的记录,您可以完全删除该列。 this StackOverflow post上还有一些其他很好的建议,包括 sci-kit learn 的 Imputer()
方法,或者只是让模型处理丢失的数据。
关于替换列,请查看 DataFrame.replace()
方法
DataFrame.replace(
to_replace=None,
value=None,
inplace=False,
limit=None,
regex=False,
method='pad',
axis=None)
此数据集的用法示例,假设缺失的列值称为“N”,并且您将它们替换为其他类别“S”(您使用 DataFrame.mode()
方法找到的):数据集[1].replace('N', 'S')
.
关于python - 处理丢失的分类数据python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46125486/