当前位置:   article > 正文

Python数据分析与挖掘实战(数据预处理)_使用python语言对一组数据进行数据挖掘,具体为对数据进行预处理并进行机器学习模

使用python语言对一组数据进行数据挖掘,具体为对数据进行预处理并进行机器学习模

操作系统:Windows
Python:3.5
欢迎加入学习交流QQ群:657341423


在做数据分析的时候,我们会通过爬虫或者数据库里得到一批原始数据的。这个上节说过的,但是对于这些数据需要做一个数据清洗,去除异常值,缺失值等,确保数据的准确性和后续生成的模型的正确性。
这节就讲解数据预处理


缺失值处理:
处理方法大致三种:
1,删除记录
2,数据插补
3,不处理
如果简单删除数据达到既定的目的,这是最有效的,但是这个方法很大局限性,容易造成隐藏的信息丢失,实际中不建议。如果不处理,会直接影响数据的数值和准确性。
基本上都是采用数据插补的方式填充缺失值。这个插补方式很多,如图
这里写图片描述
具体使用那种方式根据实际而定,这里介绍一种插补方法:
拉格朗日插值
(当看到深深的数学公式的时候,我内心是崩溃的)
在python里直接有这个方法(scipy库)
实例:
数据源,excel里
这里写图片描述
有两列,数据有200行。
代码:
这里写图片描述
def ployinterp_column是拉格朗日插值的使用。
这里取出缺失值前5行和后5行数据进行计算,得出一个pd的Series格式的数据。
然后剔除缺失值所在的行,或者前后5行的缺失值。
然后lagrange(y.index, list(y)),其中y.index, list(y)分别用print出来,index为数据行数,list(y)为数据。(n)是插入的位置。

这里介绍一下pd的DataFrame和Series的区别。
首先,pd.read_excel(inputfile)是生成一个DataFrame
如果要读取某个数的话,data[‘销量’][9] ,[‘销量’]是列名,如果没有声明的话,必需和excel的一致,不能用数字做索引。第二个[]是行数。
如果要获取某部分数据的话,比如
这里写图片描述
data[‘销量’][[9,10]] 是返回一个Series
data[‘销量’][9] 是返回某个数据。

基本上,这段代码比较难的都剖释了。不难理解。


异常值处理:
异常值和缺失值不同,异常值是不符合实际的数据,比如正常情况下,月薪10亿。这个数据就在现实中就不太可能实现了。
处理方法:
这里写图片描述
基本上常用的处理方法和缺失值处理一样的。不过实际中的处理方法还需结合实际考虑。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/389523
推荐阅读
相关标签
  

闽ICP备14008679号