等深分箱python代码
时间: 2024-04-14 10:22:56 浏览: 344
等深分箱(Equal Width Binning)是一种常用的数据离散化方法,它将连续的数值型数据划分为若干个等宽的区间。下面是一个简单的等深分箱的Python代码示例:
```python
import numpy as np
def equal_width_binning(data, num_bins):
# 计算每个区间的宽度
bin_width = (np.max(data) - np.min(data)) / num_bins
# 初始化分箱边界列表
bin_boundaries = []
# 计算分箱边界
for i in range(num_bins):
bin_boundary = np.min(data) + i * bin_width
bin_boundaries.append(bin_boundary)
# 将数据进行分箱
bins = np.digitize(data, bin_boundaries)
return bins, bin_boundaries
# 示例数据
data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# 调用等深分箱函数,将数据分为4个区间
bins, bin_boundaries = equal_width_binning(data, 4)
# 打印结果
print("分箱结果:", bins)
print("分箱边界:", bin_boundaries)
```
运行以上代码,将会得到如下输出:
```
分箱结果: [1 1 2 2 3 3 4 4 4 4]
分箱边界: [1.0, 3.25, 5.5, 7.75]
```
以上代码实现了一个简单的等深分箱函数`equal_width_binning`,它接受两个参数:`data`为待分箱的数据,`num_bins`为分箱的数量。函数首先计算每个区间的宽度,然后根据宽度计算分箱边界,最后使用`np.digitize`函数将数据进行分箱。函数返回分箱结果和分箱边界。
阅读全文