GPT中文小秘书挑几下就能开工
我积分

批量生成特征代码

关于「批量生成特征代码」:能拿到什么、要点选什么、怎么办

特征字典一键变可运行代码。特征代码批量生成是依据特征字典产出特征构造、分箱、编码与归一化脚本;在 GPT中文网点选几项,能直接拿到特征工程脚本和字典更新稿。

能拿到什么

  • 推荐:特征工程脚本+特征字典更新稿(脚本按特征分组分函数,字典表含口径、分箱、编码与归一化说明)

要你点选的几项

上传特征字典、上传清洗后数据、要生成的特征、分箱方式、归一化方式、编码方式、时序与主键、脚本风格。多数点一下就行,没选的按常见情况替你定,交付时说清哪几项是按默认的。

怎么办

  1. 上传特征字典和清洗后数据,勾选要生成的特征类型。
  2. 选定分箱、编码、归一化方式和脚本风格。
  3. 生成特征工程脚本与特征字典更新稿。
  4. 核对特征业务含义与有无未来信息,再交付使用。

别人还这样说

  • 按这份特征字典帮我把统计和交叉特征的构造代码批量写出来。
  • 特征字典更新稿也一起给我,代码和字典要能对上。
直接说你要办的事。下面是别人怎么办的,点任何一项就换成你自己的。左边是别人怎么办的,右边是你的,点一项就开始改。
示范 · 别人这样说

「清洗后的数据在这,帮我把分箱、编码、归一化的脚本一起生成。」

替他选了:归一化

按示范选好的 点一项就变成你的

你的成品会在这里出现
示例成品 · 不是你的按示范写的,看个样子
示例: 特征工程脚本(函数式,节选) # 统计特征:按用户主键聚合 agg_feats = { '订单金额': ['mean', 'max', 'sum'], '订单次数': ['count'] } df_stats = df.groupby('用户ID').agg(agg_feats) df_stats.columns = ['_'.join(c) for c in df_stats.columns] # 交叉特征:用户等级 × 渠道 for col in ['用户等级', '渠道']: df_stats[f'{col}_频次'] = df.groupby('用户ID')[col].nunique() # 分箱:等频分箱,5 箱 df_stats['订单金额_分箱'] = pd.qcut(df_stats['订单金额_mean'], q=5, labels=False, duplicates='drop') # 编码:低基数独热,高基数目标编码 low_card = ['用户等级', '渠道'] df_stats = pd.get_dummies(df_stats, columns=low_card, drop_first=True) # 归一化:最小最大归一化 for col in ['订单金额_mean', '订单金额_max']: lo, hi = df_stats[col].min(), df_stats[col].max() df_stats[col] = (df_stats[col] - lo) / (hi - lo if hi > lo else 1) 特征字典更新稿(示意) 特征名 | 含义 | 构造方式 | 分箱/编码 | 归一化 | 备注 订单金额_mean | 用户平均订单金额 | 按用户ID取均值 | 等频5箱 | 最小最大 | 用历史窗口,排除未来 订单金额_max | 用户最大订单金额 | 按用户ID取最大 | 等频5箱 | 最小最大 | 同上 订单次数_count | 用户订单数 | 按用户ID计数 | 不分箱 | 不归一化 | 计数特征 用户等级_频次 | 用户等级种类数 | 按用户ID去重计数 | 不编码 | 不归一化 | 交叉派生 渠道_频次 | 渠道种类数 | 按用户ID去重计数 | 不编码 | 不归一化 | 交叉派生 说明:示例中列名、口径与数值均为示意,实际脚本按上传数据生成;分箱边界与归一化参数由程序计算。

GPT中文 也可能出错,成品请自己核对关键数字和事实。条款 · 隐私