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

如何确保训练好的Random Forest对7月全量员工数据集完成预测?

解决7月全量员工预测覆盖问题的方案

一、检查并处理7月数据的缺失值/异常值

模型预测时会自动跳过含缺失值的样本,这是导致仅覆盖30%员工的常见原因。

  • 先查看各特征的缺失值比例:
# 输出每个特征的缺失值数量及占比
print(merged_df_pred[ml_cols].isnull().sum())
print(merged_df_pred[ml_cols].isnull().sum() / len(merged_df_pred))
  • 根据特征类型填充缺失值:
# 数值型特征用中位数填充
num_cols = ['age','months tenure','salary_deviation','review_rating','satisfaction score','ytd commission','Sales Activities','DurationOfSalesCall','MileageOfSalesCall','Referrals','Admits']
merged_df_pred[num_cols] = merged_df_pred[num_cols].fillna(merged_df_pred[num_cols].median())

# 类别型特征用众数填充
cat_cols = ['term reason enc','color_rating']
merged_df_pred[cat_cols] = merged_df_pred[cat_cols].fillna(merged_df_pred[cat_cols].mode().iloc[0])

二、确保7月数据与训练集特征完全对齐

训练时的特征列、数据类型、类别取值必须和7月数据完全匹配:

  • 核对列名:检查ml_cols中的列名是否和训练集X的列名完全一致(注意空格、大小写差异,比如months tenure是否被误写为months_tenure)
  • 核对数据类型:
# 对比训练集与7月数据的特征类型
print("训练集特征类型:\n", X.dtypes)
print("7月数据特征类型:\n", merged_df_pred[ml_cols].dtypes)

若存在类型不匹配,统一转换为训练集的类型:

# 示例:将类别特征转换为整数类型
merged_df_pred['term reason enc'] = merged_df_pred['term reason enc'].astype(int)
  • 核对类别特征取值:若7月数据出现训练集未见过的类别,模型会跳过该样本,需统一映射到已有类别:
# 获取训练集的类别取值范围
train_color_cats = X['color_rating'].unique()
# 将7月数据中不在训练集的类别替换为众数
merged_df_pred['color_rating'] = merged_df_pred['color_rating'].apply(lambda x: x if x in train_color_cats else merged_df_pred['color_rating'].mode().iloc[0])

三、同步训练与预测的预处理流程

如果训练时对数据做了标准化、编码等预处理,7月数据必须使用同一套预处理规则(不能重新拟合):
比如训练时用了标准化:

# 训练时的预处理(仅拟合训练数据)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
X_resampled = scaler.fit_transform(X_resampled)

# 预测时直接复用训练好的scaler转换7月数据
X_pred = scaler.transform(merged_df_pred[ml_cols])

四、验证预测覆盖情况

处理完成后运行预测代码,验证样本数量是否匹配:

y_pred = rf.predict(X_pred)
print(f"预测样本数:{len(y_pred)},7月总员工数:{len(merged_df_pred)}")

若两者数值相等,说明已覆盖全部180名员工。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 07:45:17