第4章 数据预处理
数据预处理主要包括数据洁洗、数据集成、数据变换和数据规约等操作,数据预处理通常占整个数据挖掘过程的60%。

%matplotlib inline
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.cluster import KMeans
from scipy.interpolate import lagrange
plt.rcParams["font.sans-serif"] = ["SimHei"]
plt.rcParams["axes.unicode_minus"] = False
4.1 数据清洗
数据清洗主要包括(1)删除原始数据集中的无关、重复数据,(2)平滑噪声数据,(3)筛除与挖掘主题无关的数据,(4)处理缺失值、异常值等。
4.1.1 缺失值处理
缺失值处理方法可分为:(1)删除记录,(2)数据插补,(3)不处理。

如果删除小部分记录也能够达到既定目标,则删除含有缺失值记录的方法最有效。
(1)拉格朗日插值法
已知平面上的nnn个点,可以找到一个n−1n-1n−1次多项式y=a0+a1x+a2x2+⋯+an−1xn−1y = a_0 + a_1 x + a_2 x^2 + \cdots + a_{n - 1} x^{n - 1}y=a0+a1x+a2x2+⋯+an−1xn−1,使这nnn个点位于该多项式曲线上。己知nnn点坐标(x1,y1),(x2,y2),⋯ ,(xn,yn)(x_1, y_1), (x_2, y_2), \cdots, (x_n, y_n)(x1,y1),(x2,y2),⋯,(xn,yn)的,则n−1n-1n−1次拉格朗日插值多项式为:
L(x)=∑i=0nyi∑j=0,j̸=inx−xixi−xjL(x) = \sum_{i = 0}^{n} y_i \sum_{j = 0, j \not = i}^{n} \frac{x - x_i}{x_i - x_j}L(x)=i=0∑nyij=0,j̸=i∑nxi−xjx−xi
拉格朗日插值公式结构紧凑,但当插值节点增减时,插值多项式各项均会随之变化。
(2)牛顿插值法
求己知nnn点坐标(x1,y1),(x2,y2),⋯ ,(xn,yn)(x_1, y_1), (x_2, y_2), \cdots, (x_n, y_n)(x1,y1),(x2,y2),⋯,(xn,yn)的所有阶差商公式:
f[x1,x]=f[x]−f[x1]x−x1=f(x)−f(x1)x−x1f[x2,x1,x]=f[x1,x]−f[x2,x1]x−x2f[x3,x2,x1,x]=f[x2,x1,x]−f[x3,x2,x1]x−x3⋯f[xn,xn−1,⋯ ,x1,x]=f[xn−1,⋯ ,x1,x]−f[xn,⋯ ,x2,x1]x−xn\begin{aligned} f[x_1, x] = & \frac{f[x] - f[x_1]}{x - x_1} = \frac{f(x) - f(x_1)}{x - x_1} \\ f[x_2, x_1, x] = & \frac{f[x_1, x] - f[x_2, x_1]}{x - x_2} \\ f[x_3, x_2, x_1, x] = & \frac{f[x_2, x_1, x] - f[x_3, x_2, x_1]}{x - x_3} \\ & \cdots \\ f[x_n, x_{n - 1}, \cdots, x_1, x] = & \frac{f[x_{n - 1}, \cdots, x_1, x] - f[x_n, \cdots, x_2, x_1]}{x - x_n} \\ \end{aligned}f[x1,x]=f[x2,x1,x]=f[x3,x2,x1,x]=f[xn,xn−1,⋯,x1,x]=x−x1f[x]−f[x1]=

本文介绍了Python数据分析中数据预处理的重要性,包括数据清洗(缺失值处理如拉格朗日插值、牛顿插值,异常值处理)、数据集成(实体识别、冗余属性识别)、数据变换(如规范化、连续特征离散化、小波变换)等关键步骤,强调了数据预处理在数据挖掘过程中的核心地位。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



