目标编码:填充在扩展平均编码值中生成的NaN

2024-05-16 21:32:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在研究目标列中有五个类的多类分类问题。我使用扩展平均编码(目标编码)为分类变量生成了特征。该方法基于对分类变量值进行编码,每个值的目标变量的平均值。在

这也会导致一些NaN值,如“事务类型”列中的“平均值”列。在

  1. 填充这些NaN值的最佳方法是什么?我要加满吗 这些带有列的意思。

  2. 我的编码意味着如何生成测试数据 目标/因变量“投诉状态”不存在?

输入数据:

enter image description here

生成平均值编码:

def add_feat_mean_encoding(col_list):
    """
        Expanding mean encoding 
    """
    for i in col_list:
        cumsum = train.groupby(i)['Complaint-Status'].cumsum() - train['Complaint-Status']
        cumcnt = train.groupby(i).cumcount()
        train[i+'_mean_target'] = cumsum/cumcnt

cat_var = ['Transaction-Type','Complaint-reason','Company-response','Consumer-disputes']
add_feat_mean_encoding(cat_var)

Tags: 方法add目标编码分类traincolnan