如何在python中处理缺失值?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
创新互联公司专注于网站建设|成都网站维护公司|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖木屋等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身制作品质网站。1.忽略元组
当缺少类别标签时通常这样做(假定挖掘任务涉及分类时),除非元组有多个属性缺失值,否则该方法不是很有效。当每个属性缺少值的百分比变化很大时,它的性能特别差。
2.人工填写缺失值
一般该方法很费时,并且当数据集很大,缺少很多值时,该方法可能行不通。
3.使用一个全局常量填充缺失值
将缺失的属性值用同一个常数(如“Unknown”或 负无穷)替换。如果缺失值都用“unknown”替换,则挖掘程序可能会认为它们形成一个有趣的概念,因为它们都具有相同的值“unknown”。因此,虽然该方法很简单,但是它十分不可靠。
4.使用与给定元组属同一类的所有样本的属性均值
例如:将顾客按照credit_risk分类,则使用具有相同信用度的给定元组的顾客的平均收入替换income中的缺失值。
5.使用最可能的值填充缺失值
可以用回归、使用贝叶斯形式化的基于推理的工具或决策树归纳确定。例如,利用数据集中其他顾客的属性,可以构造一颗决策树来预测income的缺失值。
注意:缺失值并不总是意味着数据的错误!!!!!!!
二、缺失值处理的代码实现
class:`Imputer`类提供了缺失数值处理的基本策略,比如使用缺失数值所在行或列的均值、中位数、众数来替代缺失值。该类也兼容不同的缺失值编码。
1、使用均值填充缺失值
import numpy as np from sklearn.preprocessing import Imputer imp = Imputer(missing_values='NaN', strategy='mean', axis=0) import numpy as np from sklearn.preprocessing import Imputer ###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. ]]
2、Imputer 类也支持稀疏矩阵:
import scipy.sparse as sp X = sp.csc_matrix([[1, 2], [0, 3], [7, 6]]) imp = Imputer(missing_values=0, strategy='mean', axis=0) imp.fit(X) X_test = sp.csc_matrix([[0, 2], [6, 0], [7, 6]]) print(imp.transform(X_test)) #注意,在这里,缺失数据被编码为0, 这种方式用在当缺失数据比观察数据更多的情况时是非常合适的。Python主要用来做什么
Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。
网页标题:如何在python中处理缺失值-创新互联
标题网址:http://scgulin.cn/article/ejoog.html