处理丢失的分类数据python

时间:2017-09-08 22:53:57

标签: python pandas machine-learning

我有一个csv文件,我正准备使用不同的机器学习算法训练它的数据,所以我用该列的平均值替换了数字缺失数据,但是如何处理丢失的分类数据,我应该更换他们最常见的元素?以及使用pandas在python中最简单的原因。

代码:

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]

1 个答案:

答案 0 :(得分: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()方法找到的): dataset[1].replace('N', 'S')