You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助实现员工流失预测模型的单样本特征重要性排序展示

实现个体员工离职决策的Top3影响特征方案

针对你需要为每个员工ID输出影响其离职预测结果的Top3特征并按系数排序的需求,以下是基于不同模型类型的具体实现方法:

一、按模型类型选择实现方式

1. 树模型(XGBoost、LightGBM、RandomForest等)

树模型最适合用SHAP值来量化个体样本的特征贡献,它能准确反映每个特征对该员工离职预测结果的正负影响程度。

具体步骤:

  • 先安装SHAP库:pip install shap
  • 加载训练好的模型和包含员工ID、特征的数据集
  • 计算所有样本的SHAP值:
    import shap
    import pandas as pd
    
    # 假设trained_model是你训练好的树模型,employee_data包含EMPLOYEE_ID和所有特征列
    explainer = shap.TreeExplainer(trained_model)
    shap_values = explainer.shap_values(employee_data.drop("EMPLOYEE_ID", axis=1))
    
    # 二分类场景下,取对应"离职"类的SHAP值(通常是索引1)
    if isinstance(shap_values, list):
        shap_values = shap_values[1]
    
  • 生成每个员工的Top3特征:
    feature_names = employee_data.drop("EMPLOYEE_ID", axis=1).columns
    shap_df = pd.DataFrame(shap_values, columns=feature_names, index=employee_data["EMPLOYEE_ID"])
    
    # 按特征贡献的绝对值排序,取前3并保留系数(正负代表影响方向:正=推动离职,负=抑制离职)
    top3_results = shap_df.apply(
        lambda row: row.sort_values(key=lambda x: abs(x), ascending=False).head(3).to_dict(),
        axis=1
    )
    

2. 线性模型(Logistic Regression)

线性模型的个体特征贡献直接等于特征取值 × 模型系数,计算起来更直接:

具体步骤:

  • 提取训练好的模型系数,计算每个样本的特征贡献:
    import pandas as pd
    
    # 假设trained_model是训练好的Logistic Regression模型
    model_coef = trained_model.coef_[0]
    feature_names = employee_data.drop("EMPLOYEE_ID", axis=1).columns
    
    # 计算每个员工的特征贡献值
    contribution_df = employee_data.drop("EMPLOYEE_ID", axis=1) * model_coef
    contribution_df.index = employee_data["EMPLOYEE_ID"]
    
    # 生成Top3特征
    top3_results = contribution_df.apply(
        lambda row: row.sort_values(key=lambda x: abs(x), ascending=False).head(3).to_dict(),
        axis=1
    )
    

二、结果整合与展示

可以把结果合并到原员工数据集中,方便查看:

# 将Top3特征转换为易读的字符串格式
employee_data["TOP3_INFLUENTIAL_FACTORS"] = top3_results.apply(
    lambda x: ", ".join([f"{feat}: {coeff:.2f}" for feat, coeff in x.items()])
)

输出后每个员工的该列会显示类似:SALARY: 1.25, SATISFACTION: -0.91, DISTANCE FROM HOME: 0.62,直观展示影响最大的三个因素及作用方向。

三、关键注意事项

  • 确保用于计算的数据集特征与模型训练时的特征完全一致(包括顺序、名称、预处理方式),避免出现匹配错误。
  • 若使用神经网络等其他模型,可替换为shap.DeepExplainer来计算SHAP值,逻辑和树模型一致。
  • 排序时如果更关注影响的"大小",按绝对值排序;如果要优先展示推动离职的因素,可直接按系数降序排序。

内容的提问来源于stack exchange,提问作者Mariyem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 03:45:52