电商产品销售数据预处理——
使用pandas进行数据预处理
2官网: 电话:4006840020
1
清洗电商产品销售数据
目录
合并订单信息数据和商品信息数据
2
标准化电商产品销售数据3
变换电商产品销售数据4
3官网: 电话:4006840020
任务描述
某电商产品销售数据分别存储在订单数据和商品信息数据两个数据表中。
本任务将合并订单信息数据和商品信息数据,丰富数据维度,以便于后续更能更全局、整体的观察、分析
数据,有利于发现更多有价值的信息。
部分订单信息数据如下表。
合并订单信息数据和商品信息数据
订单发生时间 订单编号 商品编号 用户编号 订单是否退款 销售渠道 销售平台类型
2023/4/24 11:50 sys_1000000 pr1000541 user_102124 否 渠道12 应用程序
2023/4/24 14:37 sys_1000001 pr1016251 user_109188 否 渠道8 应用程序
2023/4/29 10:46 sys_1000020 pr1016251 user_109188 否 渠道8 应用程序
2023/4/29 10:46 sys_1000020 pr1000060 user_109188 否 渠道8 应用程序
2023/10/21 19:40 sys_1281426 pr1011688 user_109188 否 渠道8 应用程序
4官网: 电话:4006840020
商品信息数据如下表。
任务分析
使用merge函数以订单编号、商品编号、用户编号为主键,内连接合并订单信息数据和商品信息数据。
合并订单信息数据和商品信息数据
订单编号 商品编号
商品类
别编号
商品类别代码
商品品
牌名称
商品售出
价格/美元 用户编号
用户年
龄/岁
用户
性别
用户
地区
sys_1000000 pr1000541 c1309
电子产品-
平板电脑
品牌1 user_102124 24 女 地区A
sys_1000001 pr1016251 c1341
电子产品-
音频设备-
耳机
品牌2 user_109188 38 女 地区B
sys_1000020 pr1016251 c1341
电子产品-
音频设备-
耳机
品牌2 user_109188 38 女 地区B
sys_1000020 pr1000060 c1341
电子产品-
音频设备-
耳机
品牌3 user_109188 38 女 地区B
5官网: 电话:4006840020
横向堆叠,即将两个表在x轴向拼接在一起,可以使用concat函数完成。concat函数的基本使用格式如下。
concat函数的常用参数及其说明如下表。
堆叠合并数据
1. 横向堆叠
参数名称 参数说明
objs 接收多个Series、DataFrame、Panel的组合。表示参与连接的pandas对象的列表的组合。无默认值
axis 接收int。表示连接的轴向,可选0和1。默认为0
(objs, axis=0, join='outer', ignore_index=False, keys=None,
levels=None, names=None, verify_integrity=False, sort=False, copy=True)
6官网: 电话:4006840020
concat函数的常用参数及其说明(续表)。
堆叠合并数据
参数名称 参数说明
join
接收str。表示其他轴向上的索引是按交集(inner)还是并集(outer)进行合并。默认
为outer
ignore_index
接收bool。表示是否不保留连接轴上的索引,产生一组新索引range(total_length)。默认
为False
keys
接收sequence。表示与连接对象有关的值,用于形成连接轴向上的层次化索引。默认为
None
levels
接收包含多个sequence的list。表示在指定keys参数后,指定用作层次化索引各级别上的
索引。默认为None
names 接收list。表示在设置了keys和levels参数后,用于创建分层级别的名称。默认为None
verify_integrity
接收bool。表示检查新连接的轴是否包含重复项,如果发现重复项,那么引发异常。默
认为False
sort 接收bool。表示对非连接轴进行排序。默认为False
copy 接受bool。表示是否有必要复制数据。默认为True
7官网: 电话:4006840020
当参数axis=1时,concat函数可做行对齐,然后将不同列名称的两张或多张表合并。
当两个表索引不完全一样时,可以设置join参数选择是内连接还是外连接。在内连接的情况下,仅仅返回
索引重叠部分数据;在外连接的情况下,则显示索引的并集部分数据,不足的地方则使用空值填补,横向
堆叠外连接示例如图所示。
当两份数据行索引完全一样时,不论join参数的取值是inner或outer,结果都是将两个表完全按照x轴拼接起
来。
堆叠合并数据
8官网: 电话:4006840020
使用concat函数时,在默认情况下,即axis=0,concat函数
做列对齐,将不同行索引的两张或多张表纵向合并。
在两张表的列名并不完全相同的情况下,可以使用join参数。
• 当join参数取值为inner时,返回的仅仅是列名的交集所
代表的列。
• 当join参数取值为outer时,返回的是两者列名的并集所
代表的列。其原理示意如图。
当两张表的列名完全相同时,不论join参数的取值是inner还
是outer,结果都是将两个表完全按照y轴拼接起来。
堆叠合并数据
2. 纵向堆叠
9官网: 电话:4006840020
主键合并,即通过一个或多个键将两个数据集的行连接起来,类似于SQL中的join。
针对两张包含不同特征的表,将根据某几个特征做为主键,将表一一对应拼接起来 ,合并后数据的列数为
两个原数据表的列数之和减去主键列的数量
主键合并数据
10官网: 电话:4006840020
和数据库的join一样,merge函数也有左连接(left)、右连接(right)、内连接(inner)和外连接(outer)。
比起数据库SQL语言中的join,merge函数还有其自身独到之处,如可以在合并过程中对数据集中的数据进行
排序等,merge函数的基本使用格式如下。
根据merge函数中的参数说明,并按照需求修改相关参数,即可以多种方法实现主键合并。
主键合并数据
(left, right, how='inner', on=None, left_on=None, right_on=None,
left_index=False, right_index=False, sort=False, suffixes=('_x', '_y'),
copy=True, indicator=False, validate=None)
11官网: 电话:4006840020
merge函数的常用参数及其说明。
主键合并数据
参数名称 参数说明
left 接收DataFrame或Series。表示要添加的新数据1。无默认值
right 接收DataFrame或Series。表示要添加的新数据2。无默认值
how 接收“inner”“outer”“left”或“right”。表示数据的连接方式。默认为inner
on 接收str或sequence。表示两个数据合并的主键(必须一致)。默认为None
left_on 接收str或sequence。表示left参数接收数据用于合并的主键。默认为None
12官网: 电话:4006840020
merge函数的常用参数及其说明(续表)。
主键合并数据
参数名称 参数说明
right_on 接收str或sequence。表示right参数接收数据用于合并的主键。默认为None
left_index 接收bool。表示是否将left参数接收数据的index作为连接主键。默认为False
right_index 接收bool。表示是否将right参数接收数据的index作为连接主键。默认为False
sort 接收bool。表示是否根据连接键对合并后的数据进行排序。默认为False
suffixes 接收tuple。表示用于追加到left和right参数接收数据列名相同时的后缀。默认为('_x', '_y')
13官网: 电话:4006840020
除了使用merge函数以外,使用join()方法也可以实现部分主键合并的功能。但是当使用join()方法时,两个
主键的名字必须相同,join()方法的基本使用格式如下。
主键合并数据
(other, on=None, how='left', lsuffix=' ', rsuffix=' ',
sort=False, validate=None)
14官网: 电话:4006840020
join()函数的常用参数及其说明。
主键合并数据
参数名称 参数说明
other
接收DataFrame、Series或包含多个DataFrame的list。表示参与连接的其他DataFrame。无
默认值
on 接收列名、包含列名的list或tuple。表示用于连接的列名。默认为None
how
接收特定str。表示连接方式。当取值为“inner”时代表内连接;当取值为“outer”时代表外
连接;当取值为“left”时代表左连接;当取值为“right”时代表右连接。默认为left
lsuffix 接收str。表示追加到左侧重叠列名的后缀。无默认值
rsuffix 接收str。表示追加到右侧重叠列名的后缀。无默认值
sort 接收bool。表示根据主键对合并后的数据进行排序。默认为False
15官网: 电话:4006840020
在数据分析和数据处理过程中偶尔会出现两份数据的内容几乎一致的情况,但是某些特征在其中一张表上
是完整的,而在另外一张表上的数据则是缺失的。
combine_first()方法来进行重叠数据合并,其原理如下图所示。
重叠合并数据
16官网: 电话:4006840020
combine_first()方法的基本使用格式如下。
combine_first()方法的常用参数及其说明表如下。
重叠合并数据
参数名称 参数说明
other 接收DataFrame。表示参与重叠合并的另一个DataFrame。无默认值
_first(other)
17官网: 电话:4006840020
1
清洗电商产品销售数据
目录
合并订单信息数据和商品信息数据
2
标准化电商产品销售数据3
变换电商产品销售数据4
18官网: 电话:4006840020
任务描述
由于数据来源的多样性和数据采集的复杂性,可能存在一些数据质量问题,如重复值、缺失值和异常值等。
为了确保数据的质量和准确性,以及后续的数据分析和决策的可靠性,需要对数据进行清洗。
本任务将通过清洗电商产品销售数据,确保数据的准确性和一致性,为后续的数据分析、市场营销和决策
制定提供可靠的基础。
任务分析
(1)检测电商产品销售数据中的重复值情况,并对重复值进行删除处理。
(2)检测电商产品销售数据中的缺失值情况,并对缺失值进行删除处理。
(3)检测电商产品销售数据中的异常值情况,并对异常值进行删除处理。
清洗电商产品销售数据
19官网: 电话:4006840020
记录重复,即一个或多个特征的某几条记录的值完全相同。
方法一:利用列表(list)去重,自定义去重函数。
方法二:利用集合(set)元素唯一的特性去重。
比较上述两种方法可以发现,方法一代码冗长。方法二看似代码简洁了许多,但是会导致数据的排列发生
改变。
检测与处理重复值
1. 记录重复
20官网: 电话:4006840020
pandas提供了一个名为drop_duplicates的去重方法,使用该方法进行去重不会改变数据原始排列,并且兼具
代码简洁和运行稳定的特点。
不仅支持单一特征的数据去重,还能够依据DataFrame的其中一个或多个特征进行去重操作。drop_duplicates
()方法的基本使用格式如下。
检测与处理重复值
_duplicates(subset=None, keep='first', inplace=False, ignore_index=False)
21官网: 电话:4006840020
drop_duplicates()方法的常用参数及其说明。
检测与处理重复值
参数名称 参数说明
subset 接收str或sequence。表示进行去重的特征。默认为None
keep
接收特定str。表示重复时保留第几个数据,“first”表示保留第一个;
“last”表示保留最后一个;False表示只要有重复都不保留。默认为first
inplace 接收bool。表示是否在原表上进行操作。默认为False
ignore_index 接收bool。表示是否忽略索引。默认为False
22官网: 电话:4006840020
结合相关的数学和统计学知识,要去除连续的特征重复,可以利用特征间的相似度将两个相似度为1的特
征去除其中一个。
在pandas中,相似度的计算方法为corr()。使用该方法计算相似度时,默认为pearson法,可以通过method参
数进行调节,目前还支持spearman法和kendall法。
通过相似度矩阵去重存在一个弊端是只能对数值型重复特征去重,类别型特征之间无法通过计算相似系数
来衡量相似度,因此无法根据相似度矩阵对其进行去重处理。
除了使用相似度矩阵进行特征去重之外,还可以通过equals()方法进行特征去重。
检测与处理重复值
2. 特征重复
23官网: 电话:4006840020
equals()方法的基本使用格式如下。
equals()方法的参数说明表如下。
检测与处理重复值
参数名称 参数说明
other
接收Series或DataFrame。表示要与第一个Series或DataFrame进行比较的另一个Series或
DataFrame。无默认值
(other)
24官网: 电话:4006840020
在数据中的某个或某些特征的值是不完整的,这些值称为缺失值。
pandas提供了识别缺失值的isnull()方法以及识别非缺失值的notnull()方法,这两种方法在使用时返回的都是
布尔值,即True和False。
结合sum函数、isnull()方法和notnull()方法,可以检测数据中缺失值的分布以及数据中一共含有多少缺失值。
isnull()方法和notnull()方法的结果正好相反,因此使用其中任意一个都可以识别出数据是否存在缺失值。
检测与处理缺失值
25官网: 电话:4006840020
删除法是指将含有缺失值的特征或记录删除。
删除法分为删除观测记录和删除特征两种,它属于通过减少样本量来换取信息完整度的一种方法,是一种
较为简单的缺失值处理方法。
pandas中提供了简便的删除缺失值的dropna()方法,通过控制参数,既可以删除观测记录,又可以删除特征。dropna
()方法的基本使用格式如下。
检测与处理缺失值
1. 删除法
(*, axis=0, how=any, thresh= None, subset=None, inplace=False,
ignore_index=False)
26官网: 电话:4006840020
dropna()方法的常用参数及其说明。
检测与处理缺失值
参数名称 参数说明
axis 接收0或1。表示轴向,0为删除观测记录(行),1为删除特征(列)。默认为0
how
接收特定str。表示删除的形式,当取值为any时,表示只要有缺失值存在就执行删除
操作;当取值为all时,表示当且仅当全部为缺失值时才执行删除操作。默认为any
thresh 接收int。表示保留至少含有n(thresh参数值)个非空数值的行。默认为None
subset 接收array。表示进行去重的列/行。默认为None
inplace 接收bool。表示是否在原表上进行操作。默认为False
27官网: 电话:4006840020
替换法是指用一个特定的值替换缺失值。
特征可分为数值型和类别型,两者出现缺失值时的处理方法也是不同的。
• 当缺失值所在特征为数值型时,通常利用其均值、中位数或众数等描述其集中趋势的统计量来代替缺失值。
• 当缺失值所在特征为类别型时,则选择使用众数来替换缺失值。
检测与处理缺失值
2. 替换法
28官网: 电话:4006840020
pandas库中提供了缺失值替换的fillna()方法,fillna()方法的基本使用格式如下。
fillna()方法的常用参数及其说明如下。
检测与处理缺失值
(value=None, method=None, axis=None,
inplace=False, limit=None, downcast=None)
参数名称 参数说明
value 接收scalar、dict、Series或DataFrame。表示用于替换缺失值的值。默认为None
method
接收特定str。表示填补缺失值的方式。
当取值为“backfilll”或“bfill”时表示使用下一个非缺失值来填补缺失值;
当取值为“pad”或“ffill”时表示使用上一个非缺失值来填补缺失值。默认为
None
29官网: 电话:4006840020
fillna()方法的常用参数及其说明(续表)。
检测与处理缺失值
参数名称 参数说明
axis 接收0或1。表示轴向。默认为None
inplace 接收bool。表示是否在原表上进行操作。默认为False
limit 接收int。表示填补缺失值个数上限,超过则不进行填补。默认为None
downcast 接收dict。表示转换数据类型。默认为None
30官网: 电话:4006840020
删除法简单易行,但是会引起数据结构变动,样本减少;替换法使用难度较低,但是会影响数据的标准差,
导致信息量变动。
线性插值是一种较为简单的插值方法,它针对已知的值求出线性方程,通过求解线性方程得到缺失值。
检测与处理缺失值
3. 插值法
31官网: 电话:4006840020
多项式插值是利用已知的值拟合一个多项式,使得现有的数据满足这个多项式,再利用这个多项式求解缺
失值,常见的多项式插值又分有拉格朗日插值和牛顿插值等。
样条插值是以可变样条来做出一条经过一系列点的光滑曲线的插值方法。插值样条由一些多项式组成,每
一个多项式都由相邻两个数据点决定,这样可以保证两个相邻多项式及其导数在连接处连续。
检测与处理缺失值
32官网: 电话:4006840020
从拟合结果可以看出,在多项式插值和样条插值两种情况下的拟合都非常出色,线性插值法只在自变量和
因变量为线性关系的情况下拟合才较为出色。
在实际分析过程中,由于自变量与因变量的关系是线性的情况非常少见,所以在大多数情况下,多项式插
值和样条插值是较为合适的选择。
SciPy库中的interpolate模块除了提供常规的插值法外,还提供了如在图形学领域具有重要作用的重心坐标
插值(BarycentricInterpolator)等。在实际应用中,需要根据不同的场景选择合适的插值方法。
检测与处理缺失值
33官网: 电话:4006840020
3σ原则又称为拉依达准则,其原则就是先假设一组检测数据只含有随机误差,对原始数据进行计算处理得
到标准差,然后按一定的概率确定一个区间,认为数据超过这个区间就属于异常。
3σ原则仅适用于对正态或近似正态分布的样本数据进行处理。正态分布数据的3σ原则如下表所示,其中σ
代表标准差,μ代表均值。
数据的数值分布几乎全部集中在区间(μ3σ,μ+3σ)内,超出这个范围的数据仅占不到%。故根据小概率
原理,可以认为超出3σ的部分为异常数据。
检测与处理异常值
1. 3σ原则
数值分布 在数据中的占比
(μσ,σ)
(μ2σ,2σ)
(μ3σ,3σ)
34官网: 电话:4006840020
箱线图提供了识别异常值的一个标准,即异常值通常被定义为小于或大于QU+的值。
• QL称为下四分位数,表示全部观察值中有四分之一的数据取值比它小;
• QU称为上四分位数,表示全部观察值中有四分之一的数据取值比它大;
• IQR称为四分位数间距,是上四分位数QU与下四分位数QL之差,其间包含了全部观察值的一半。
检测与处理异常值
2. 箱线图分析
35官网: 电话:4006840020
箱线图依据实际数据绘制,真实、直观地表现出了数据分布的本来面貌,且没有对数据做任何限制性要求,
其判断异常值的标准以四分位数和四分位数间距为基础。
四分位数给出了数据分布的中心、散布和形状的某种指示,具有一定的鲁棒性,即25%的数据可以变得任
意远,而不会很大地扰动四分位数,所以异常值通常不能对这个标准施加影响。鉴于此,箱线图识别异常
值的结果比较客观,因此在识别异常值方面具有一定的优越性。
检测与处理异常值
36官网: 电话:4006840020
1
清洗电商产品销售数据
目录
合并订单信息数据和商品信息数据
2
标准化电商产品销售数据3
变换电商产品销售数据4
37官网: 电话:4006840020
任务描述
不同商品因其特性和成本差异,售价可能跨越极大的范围。
标准化能够将数据转换到同一量级上,使得在分析过程中不会因为量纲或数量级的差异而产生偏误。
本任务将对商品售出价格进行标准化,确保在综合分析中每个商品的价格特征具有同等的重要性。
任务分析
利用标准差标准化的计算方法,使用mean()方法和std()方法对商品售出价格进行标准差标准化。
标准化电商产品销售数据
38官网: 电话:4006840020
离差标准化是对原始数据的一种线性变换,结果是将原始数据的数值映射到[0,1]区间,转换公式如下。
其中,X表示原始数据值, 为原始数据的均值,为原始数据的标准差。离差标准化保留了原始数据值之间
的联系,是消除量纲和数据取值范围影响较为简单的方法。
离差标准化前后的数据的整体分布情况并未发生改变,原先取值较大的数据,在做完离差标准化后的值依
旧较大。
离差标准化的缺点:若数值集中某个数值很大,则规范化后各其余值会接近于0,并且将会相差不大。
离差标准化数据
39官网: 电话:4006840020
标准差标准化也叫零均值标准化或 z 分数标准化,是当前使用较为广泛的数据标准化方法,经过该方法处
理的数据均值为0,标准差为1,转化公式如下式。
其中,X表示原始数据值, 为原始数据的均值,为原始数据的标准差。标准差标准化后的值区间不局限
于[0,1],并且存在负值。同时也不难发现,标准差标准化和离差标准化一样不会改变数据的分布情况。
标准差标准化数据
40官网: 电话:4006840020
通过移动数据的小数位数,将数据映射到区间[-1,1],移动的小数位数取决于数据绝对值的最大值,其转化
公式如下式。
3种标准化方法各有其优势。
• 离差标准化方法简单,便于理解,标准化后的数据限定在[0,1]区间内。
• 标准差标准化受数据分布的影响较小。
• 小数定标标准化方法的适用范围广,并且受数据分布的影响较小,相比较于前两种方法,该方法适用
程度适中。
小数定标标准化数据
41官网: 电话:4006840020
1
清洗电商产品销售数据
目录
合并订单信息数据和商品信息数据
2
标准化电商产品销售数据3
变换电商产品销售数据4
42官网: 电话:4006840020
任务描述
根据数据的特性,通常会包含类别型或连续型的数据。
通过变换数据,如哑变量转换类别型数据、离散化连续型数据等,可以使得数据更适合特定的分析任务,
提高模型的准确性和可靠性。
本任务将对电商产品销售数据中的类别型数据和连续型数据分别进行哑变量处理和离散化处理。
任务分析
(1)使用get_dummies函数对性别、销售渠道、平台类型数据进行哑变量处理。
(2)使用cut函数对年龄、商品售出价格进行离散化。
变换电商产品销售数据
43官网: 电话:4006840020
在数据分析模型中有相当一部分的算法模型都要求输入的特征为数值型特征,但在实际数据中,特征的
类型不一定只有数值型,还会存在相当一部分的类别型。类别型特征需要经过哑变量处理后才可以放入模型
之中。哑变量处理的示例如下图。
哑变量处理类别型数据
44官网: 电话:4006840020
在Python中可以利用pandas库中的get_dummies函数对类别型特征进行哑变量处理,get_dummies函数的基
本使用格式如下。
get_dummies函数的常用参数及其说明如下。
哑变量处理类别型数据
_dummies(data, prefix=None, prefix_sep='_', dummy_na=False,
columns=None, sparse=False, drop_first=False, dtype=None)
参数名称 参数说明
data 接收array、DataFrame或Series。表示需要哑变量处理的数据。无默认值
prefix 接收str、str的列表或str的dict。表示哑变量化后列名的前缀。默认为None
prefix_sep 接收str。表示前缀的连接符。默认为“_”
45官网: 电话:4006840020
get_dummies函数的常用参数及其说明(续表)。
哑变量处理类别型数据
参数名称 参数说明
dummy_na 接收bool。表示是否为NaN值添加一列。默认为False
columns 接收类似list的数据。表示DataFrame中需要编码的列名。默认为None
sparse 接收bool。表示虚拟列是否是稀疏的。默认为False
drop_first
接收bool。表示是否通过从k个分类级别中删除第一级来获得k1个分类级别。
默认为False
dtype 接收数据类型。表示处理后新列的数据类型。默认为None
46官网: 电话:4006840020
对于一个类别型特征,若其取值有m个,则经过哑变量处理后将变成了m个二元特征,并且这些特征互斥,
每次只有一个激活,这使得数据变得稀疏。
对类别型特征进行哑变量处理主要解决了部分算法模型无法处理类别型数据的问题,在一定程度上起到了
扩充特征的作用。由于数据变成了稀疏矩阵的形式,因此也加快了算法模型的运算速度。
哑变量处理类别型数据
47官网: 电话:4006840020
某些模型算法,特别是分类算法,如ID3决策树算法和Apriori
算法等,要求数据是离散的,此时就需要将连续型特征数据
(数值型)变换成离散型特征数据(类别型),即连续特征
离散化。
连续特征的离散化就是在数据的取值范围内设定若干个离散
的划分点,将取值范围划分为一些离散化的区间,最后用不
同的符号或整数值代表落在每个子区间中的数据值。
因此离散化涉及到两个子任务,分别为确定分类数和如何将
连续型数据映射到类别型数据上。连续特征离散化示例如图。
离散化连续型数据
48官网: 电话:4006840020
等宽法将数据的值域分成具有相同宽度的区间,区间的个数由数据本身的特点决定或由用户指定,与制作
频率分布表类似。
pandas提供了cut函数,可以进行连续型数据的等宽离散化,其基础语法如下。
cut函数的常用参数及其说明如下。
离散化连续型数据
1. 等宽法
(x, bins, right=True, labels=None, retbins=False, precision=3,
include_lowest=False, duplicates='raise', ordered=True)
参数名称 参数说明
x 接收array或Series。表示需要进行离散化处理的数据。无默认值
bins
接收int、list、array或tuple。若参数值为int,则表示离散化后的类别数目;若参数值为序列类型的数据,
则表示进行切分的区间,每两个数的间隔为一个区间。无默认值
49官网: 电话:4006840020
cut函数的常用参数及其说明(续表)。
使用等宽法离散化的缺陷:等宽法离散化对数据分布具有较高要求,如果数据分布不均匀,那么各个类的
数目也会变得非常不均匀,有些区间包含许多数据,而另外一些区间的数据极少,这会严重损坏所建立的
模型的效果。
离散化连续型数据
参数名称 参数说明
right 接收bool。表示右侧是否为闭区间。默认为True
labels 接收list、array。表示离散化后各个类别的名称。默认为None
retbins 接收bool。表示是否返回区间标签。默认为False
precision 接收int。表示显示标签的精度。默认为3
duplicates 接收指定str。表示是否允许重复区间,可选raise和drop,raise表示不允许,drop表示允许。默认为raise
50官网: 电话:4006840020
cut函数虽然不能够直接实现等频离散化,但是可以通过定义将相同数量的记录放进每个区间。
相较于等宽法离散化,避免了数据分布不均匀的问题,但是,也有可能将数值非常接近的两个值分到不同
的区间以满足每个区间对数据个数的要求。
离散化连续型数据
2. 等频法
51官网: 电话:4006840020
维聚类的方法包括两个步骤。
• 首先将连续型数据用聚类算法(如K-Means算法等)进行聚类,
• 然后处理聚类得到的簇,为合并到一个簇的连续型数据做同一种标记。
聚类分析的离散化方法需要用户指定簇的个数,用于决定产生的区间数。
K-Means聚类分析的离散化方法可以很好地根据现有特征的数据分布状况进行聚类,但是由于K-Means算
法本身的缺陷,用该方法进行离散化时依旧需要指定离散化后类别的数目。此时需要配合聚类算法评价方
法,找出最优的聚类簇数目。
离散化连续型数据
3. 聚类分析法
52官网: 电话:4006840020
本章主要介绍数据预处理过程:数据合并、数据清洗、数据标准化和数据变换。
数据合并主要通过堆叠合并、主键合并和重叠合并的方法对数据进行合并。
数据清洗主要包括对重复值、缺失值和异常值的处理。
数据标准化介绍了如何将不同量纲的数据转化为具有一致性的标准化数据。
数据变换介绍了如何从不同的应用角度对已有的特征数据进行变换。
小结
Thank you!Thank you!
打造数据智能职业教育领军企业
相关的实训、课程视频等资源:
相关的培训动态: