特征选择
对输入层使用变分dropout计算特征重要性,根据重要性排名进行特征选择。
训练
模型中配置如下字段进行训练:
model_config {
feature_groups {
...
}
variational_dropout{
regularization_lambda:0.01
embedding_wise_variational_dropout:false
}
...
}
regularization_lambda: 变分dropout层的正则化系数设置
embedding_wise_variational_dropout: 变分dropout层维度是否为embedding维度(true:embedding维度;false:feature维度;默认false)
查看特征重要性
训练完成后,运行如下脚本查看特征重要性:
torchrun --master_addr=localhost --master_port=32555 \
--nnodes=1 --nproc-per-node=1 --node_rank=0 \
-m tzrec.tools.feature_selection \
--pipeline_config_path examples/dbmtl_taobao_chen_seq.config \
--model_dir experiments/taobao/dbmtl_ce \
--topk 100 \
--output_dir experiments/taobao/dbmtl_ce/output_dir \
--clear_variational_dropout
–pipeline_config_path: 训练用的配置文件路径
–model_dir: 模型训练的目录
–topk 100: 在训练配置文件钟保存top_k重要的特征
–output_dir: 新的模型配置文件以及重要性分析保存的目录
–clear_variational_dropout: 新的模型配置文件中是否删除变分dropout的配置
–visualize: 是否画图展示特征重要性。如果需要,则需要安装matplotlib