解决方法
1、忽视元组。
缺少类别标签时,通常这样做(假设挖掘任务与分类有关),除非元组有多个属性缺失值,否则该方法不太有效。当个属性缺值的百分比变化很大时,其性能特别差。
2、人工填写缺失值。
一般来说,这种方法需要很长时间,当数据集大且缺少很多值时,这种方法可能无法实现。
3、使用全局常量填充缺失值。
将缺失的属性值用同一常数(如Unknown或负)替换。如果缺失值都是用unknown替换的话,挖掘程序可能会认为形成有趣的概念。因为有同样的价值unknown。因此,这种方法很简单,但不可靠。
4、使用与给定元组相同类型的所有样本的属性平均值。
5、使用最可能的值填充缺失值。
可以通过回归、使用贝叶斯形式化的基于推理的工具和决策树的总结来决定。
实例
importnumpyasnp fromsklearn.preprocessingimportImputer imp=Imputer(missing_values='NaN',strategy='mean',axis=0) importnumpyasnp fromsklearn.preprocessingimportImputer ###1.使用均值填充缺失值 imp=Imputer(missing_values='NaN',strategy='mean',axis=0) imp.fit([[1,2],[np.nan,3],[7,6]]) X=[[np.nan,2],[6,np.nan],[7,6]] print(imp.transform(X)) [[4.2.] [6.3.66666667] [7.6.]]
以上就是python缺失值的解决方法,希望对大家有所帮助。更多Python学习指路:Python基础教程
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)