[Python数据挖掘]第4章、数据预处理

数据预处理主要包括数据清洗、数据集成、数据变换和数据规约,处理过程如图所示。

一、数据清洗

1.缺失值处理:删除、插补、不处理

## 拉格朗日插值代码(使用缺失值前后各5个未缺失的数据建模)

import pandas as pd #导入数据分析库Pandas
from scipy.interpolate import lagrange #导入拉格朗日插值函数

inputfile = ‘../data/catering_sale.xls‘ #销量数据路径
outputfile = ‘../tmp/sales.xls‘ #输出数据路径

data = pd.read_excel(inputfile) #读入数据
data[u‘销量‘][(data[u‘销量‘] < 400) | (data[u‘销量‘] > 5000)] = None #过滤异常值,将其变为空值

#自定义列向量插值函数
#s为列向量,n为被插值的位置,k为取前后的数据个数,默认为5
def ployinterp_column(s, n, k=5):
  y = s[list(range(n-k, n)) + list(range(n+1, n+1+k))] #取数
  y = y[y.notnull()] #剔除空值
  return lagrange(y.index, list(y))(n) #插值并返回插值结果

#逐个元素判断是否需要插值
for i in data.columns:
  for j in range(len(data)):
    if (data[i].isnull())[j]: #如果为空即插值。
      data[i][j] = ployinterp_column(data[i], j)

data.to_excel(outputfile) #输出结果,写入文件

2.异常值处理

3.数据变换

1)函数变换:将不具有正态分布的数据变换成正态分布的数据

2)规范化/归一化:消除不同量纲的影响

    

零-均值规范化使用最多

3)连续属性离散化:连续属性->分类属性

以“医学中中医证型的相关数据”为例

4)属性构造:利用已有属性构造新的属性

以线损率为例

4.数据规约

1)属性规约(纵向):属性合并、删除无关属性

2)数值规约(横向):选择替代的、娇小的数据来减少数据量,包括有参方法和无参方法

5.Python主要数据预处理函数

原文地址:https://www.cnblogs.com/little-monkey/p/10047032.html

时间: 2024-07-31 01:51:09

[Python数据挖掘]第4章、数据预处理的相关文章

《数据挖掘概念与技术》--第三章 数据预处理

一.数据预处理 1.数据如果能够满足其应用的要求,那么他是高质量的. 数据质量涉及许多因素:准确性.完整性.一致性.时效性.可信性.可解释性. 2.数据预处理的主要任务:数据清洗.数据集成.数据规约.数据变换. 二.数据清理:试图填充缺失值,光滑噪声.识别利群点.纠正数据中的不一致. 1.缺失值的处理: 1)忽略元组:缺少类标号时通常这么做.但是忽略的元组其他属性也不能用,即便是有用的. 2)人工填写:该方法很费事费时,数据集很大.缺失值很多时可能行不通. 3)使用一个全局常量填充缺失值:将缺失

第4章 数据预处理

目录 4.1 数据清洗 4.1.1 缺失值处理 4.1.2 异常值处理 4.2 数据集成 4.2.1 实体识别 4.2.2 冗余属性识别 4.3 数据变换 4.3.1 简单函数变换 4.3.2 规范化 4.3.3 连续属性离散化 4.3.4 属性构造 4.3.5 小波变换 4.4 数据规约 4..4.1 属性规约 4.4.2  数值规约 4.1 数据清洗 主要是删除原始数据集中的无关数据.重复数据,平滑噪声数据,筛选掉与挖掘主题无关的数据,处理缺失值.异常值等. 4.1.1 缺失值处理 处理缺失

Python初探——sklearn库中数据预处理函数fit_transform()和transform()的区别

敲<Python机器学习及实践>上的code的时候,对于数据预处理中涉及到的fit_transform()函数和transform()函数之间的区别很模糊,查阅了很多资料,这里整理一下: # 从sklearn.preprocessing导入StandardScaler from sklearn.preprocessing import StandardScaler # 标准化数据,保证每个维度的特征数据方差为1,均值为0,使得预测结果不会被某些维度过大的特征值而主导 ss = Standard

[Python数据挖掘]第6章、电力窃漏电用户自动识别

一.背景与挖掘目标 相关背景自查 二.分析方法与过程 1.EDA(探索性数据分析) 1.分布分析 2.周期性分析 2.数据预处理 1.数据清洗 过滤非居民用电数据,过滤节假日用电数据(节假日用电量明显低于工作日)  2.缺失值处理 #拉格朗日插值代码 import pandas as pd #导入数据分析库Pandas from scipy.interpolate import lagrange #导入拉格朗日插值函数 data = pd.read_excel('data/missing_dat

数据挖掘——(二)数据预处理

数据预处理 1. 数据质量的三个要素:准确性.完整性.一致性 2. 数据预处理的主要任务: 数据清理.数据集成.数据归约.数据变换 一. 数据清理 数据清理主要:填补缺失的值,光滑噪声同时识别离群点,并纠正数据的不一致性. 通常是一个两步的迭代过程,包括偏差检测和数据变换 注意:在某些情况下,缺失值并不意味着数据有误.在理想情况下,每个属性应当有一个或多个关于控制条件的规则.这些规则可以说明是否允许空值,并且/或者说明这样的空值应当如何处理或转换. 二. 数据集成 数据集成将来自多个数据源的数据

[Python数据挖掘]第2章、Python数据分析简介

1.Python数据结构 2.Numpy数组 import numpy as np #一般以np作为numpy的别名 a = np.array([2, 0, 1, 5]) #创建数组 print(a) #输出数组 print(a[:3]) #引用前三个数字(切片) print(a.min()) #输出a的最小值 a.sort() #将a的元素从小到大排序,此操作直接修改a,因此这时候a为[0, 1, 2, 5] b= np.array([[1, 2, 3], [4, 5, 6]]) #创建二维数

【数据分析 R语言实战】学习笔记 第三章 数据预处理 (下)

3.3缺失值处理 R中缺失值以NA表示,判断数据是否存在缺失值的函数有两个,最基本的函数是is.na()它可以应用于向量.数据框等多种对象,返回逻辑值. > attach(data) The following objects are masked fromdata (pos = 3): city, price, salary > data$salary=replace(salary,salary>5,NA) > is.na(salary) [1] FALSEFALSE TRUE

数据挖掘过程中:数据预处理

原文:http://www.itongji.cn/article/0Q926052013.html 在数据分析之前,我们通常需要先将数据标准化(normalization),利用标准化后的数据进行数据分析.数据标准化也就是统计数据的指数化.数据标准化处理主要包括数据同趋化处理和无量纲化处理两个方面.数据同趋化处理主要解决不同性质数据问题,对不同性质指标直接加总不能正确反映不同作用力的综合结果,须先考虑改变逆指标数据性质,使所有指标对测评方案的作用力同趋化,再加总才能得出正确结果.数据无量纲化处理

[Python数据挖掘]第5章、挖掘建模(上)

一.分类和回归 回归分析研究的范围大致如下: 1.逻辑回归 #逻辑回归 自动建模 import pandas as pd from sklearn.linear_model import LogisticRegression as LR from sklearn.linear_model import RandomizedLogisticRegression as RLR #参数初始化 data = pd.read_excel('data/bankloan.xls') x = data.iloc