数据挖掘如何分箱以及如何对每个箱子中的数据进行平滑处理

参考:https://www.cnblogs.com/serena45/p/5559122.html

分箱的方法:有4种:等深分箱法、等宽分箱法、最小熵法和用户自定义区间法。

数据平滑方法:有3种按平均值平滑、按边界值平滑和按中值平滑。

统一权重,也成等深分箱法,将数据集按记录行数分箱,每箱具有相同的记录数,每箱记录数称为箱子的深度。这是最简单的一种分箱方法。

统一区间,也称等宽分箱法,使数据集在整个属性值的区间上平均分布,即每个箱的区间范围是一个常量,称为箱子宽度。

用户自定义区间,用户可以根据需要自定义区间,当用户明确希望观察某些区间范围内的数据分布时,使用这种方法可以方便地帮助用户达到目的。

例:

客户收入属性income排序后的值(人民币元):

800 1000 1200 1500  1500 1800 2000 2300 2500 2800 3000 3500 4000 4500 4800 5000,分箱的结果如下。

统一权重:设定权重(箱子深度)为4,分箱后

【就是每个箱子都是装4个数值】

箱1:800 1000 1200 1500

箱2:1500 1800 2000 2300 

箱3:2500 2800 3000 3500

箱4:4000 4500 4800 5000  

 

统一区间:设定区间范围(箱子宽度)为1000元人民币,分箱后

如果,设定箱子宽度为W。那么(结合本例)

第一个:800--800+W;第二个:2000--2000+W;第三个:3500--3500+W;第四个:4800--4800+W

箱1:800 1000 1200 1500 1500 1800

箱2:2000 2300 2500 2800 3000

箱3:3500 4000 4500

箱4:4800 5000 

 

用户自定义:如将客户收入划分为1000元以下、1000~2000、2000~3000、3000~4000和4000元以上几组,分箱后

箱1:800 

箱2:1000 1200 1500 1500 1800 2000 

箱3:2300 2500 2800 3000  

箱4:3500 4000 

箱5:4500 4800 5000 

 

数据平滑方法:按平均值平滑、按边界值平滑和按中值平滑。

例子:

price 的排序后数据(美元): 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34
划分为(等深的)箱:
-箱1: 4, 8, 9, 15
-箱2: 21, 21, 24, 25
-箱3: 26, 28, 29, 34

用箱平均值平滑:
-箱1: 9, 9, 9, 9
-箱2: 23, 23, 23, 23
-箱3: 29, 29, 29, 29

用箱边界值平滑:
-箱1: 4, 4, 4, 15
-箱2: 21, 21, 25, 25
-箱3: 26, 26, 26, 34

⑴按平均值平滑 :对同一箱值中的数据求平均值,用平均值替代该箱子中的所有数据。

⑵按边界值平滑 :用距离较小的边界值替代箱中每一数据。 

⑶按中值平滑 :取箱子的中值,用来替代箱子中的所有数据。 

  • 18
    点赞
  • 98
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
噪声处理是一种常见的数据处理技术,可以对数据的异常值、离群点等进行处理,提高数据的质量和可靠性。下面是两种常见的噪声处理方法的Python代码实现: 1. 分箱处理 分箱处理是一种将连续数据离散化的方法,可以有效地减少噪声的影响。下面是一个简单的分箱处理的代码实现: ```python import pandas as pd import numpy as np # 读取CSV文件 data = pd.read_csv("data.csv") # 对数据进行分箱处理 bin_size = 10 data["bin"] = pd.cut(data["value"], bins=np.arange(0, 101, bin_size)) # 对每个箱子数据进行平均值处理 data["value"] = data.groupby("bin")["value"].transform("mean") # 输出处理后的数据 print(data) ``` 在这段代码,我们首先读取了一个名为"data.csv"的CSV文件,然后对其的"value"列进行分箱处理,将数据分为了10个箱子。然后对每个箱子数据进行平均值处理,将处理后的结果存储在"value"列。最后输出处理后的数据。 2. 回归平滑处理 回归平滑处理是一种基于回归模型的噪声处理方法,可以通过拟合数据的趋势来平滑噪声。下面是一个简单的回归平滑处理的代码实现: ```python import pandas as pd import numpy as np from sklearn.linear_model import LinearRegression # 读取CSV文件 data = pd.read_csv("data.csv") # 构造回归模型 model = LinearRegression() model.fit(data.index.values.reshape(-1, 1), data["value"]) # 对数据进行平滑处理 data["value"] = model.predict(data.index.values.reshape(-1, 1)) # 输出处理后的数据 print(data) ``` 在这段代码,我们首先读取了一个名为"data.csv"的CSV文件,然后构造了一个简单的线性回归模型,使用模型对数据进行平滑处理。最后输出处理后的数据。 需要注意的是,以上代码仅为简单的示例,实际的噪声处理方法需要根据具体的数据和需求进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值