【发布时间】:2019-06-20 11:01:04
【问题描述】:
我正在研究目标列中有五个类的多类分类问题。我使用扩展平均编码(目标编码)为分类变量生成了特征。该方法基于使用每个值的目标变量的平均值对分类变量值进行编码。
这也会导致一些 NaN 值,例如“Transaction-Type_mean_target”列。
填充这些 NaN 值的最佳方法是什么?我应该填写 这些与列均值。
如何为我的测试数据生成平均编码作为 目标/因变量“投诉状态”不存在?
输入数据:
生成平均编码:
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)
【问题讨论】:
-
你好,只是为了理解:你的特征中哪些是分类的,哪些是标量的? CmpantStatus 是标量或分类(可能是布尔值,0/1)?
标签: python machine-learning data-science feature-engineering