自学内容网 自学内容网

数据分箱:决策树得到特征的分箱区间后后怎么映射到原数据中?

以下是将bins_intervals的值映射回原数据的示例代码:

import pandas as pd
import numpy as np

# 假设原数据
data = pd.DataFrame({
    'feature_to_bin': [10, 20, 30, 40, 50, 60, 70, 80, 90]
})

# 假设决策树得到的分箱区间
bins_intervals = [(0, 30), (30, 60), (60, 90)]

# 创建一个新的列用于存储分箱结果
data['binned_feature'] = None

# 遍历原数据中的每个值,确定其所属的分箱并映射回区间描述
for index, row in data.iterrows():
    value = row['feature_to_bin']
    for bin_index, interval in enumerate(bins_intervals):
        if interval[0] <= value < interval[1]:
        # data.at[index, 'binned_feature'] = f'Bin {bin_index + 1}'
            data.at[index, 'binned_feature'] = f'{interval[0]}-{interval[1]}'
            break
    else:
        # 如果没有匹配到任何分箱,可以进行特殊处理,比如标记为其他类别
        data.at[index, 'binned_feature'] = 'Other'

print(data)

在这个例子中,我们将原数据中的每个值与分箱区间进行比较,确定其所属的分箱,并将分箱结果映射回对应的区间描述,存储在新的列中。如果一个值不匹配任何分箱,可以根据需要进行特殊处理。


原文地址:https://blog.csdn.net/rubyw/article/details/143087186

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!