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

如何在Pandas中拼接两列词嵌入特征用于XGBoost模型训练

你报错的核心原因是df[['FastText_Title','FastText']]取出的每行包含两个独立的200维向量,没有整合成模型可以接收的单样本一维特征向量。逐位相加会丢失两类特征的独有信息,导致效果下降,正确做法是对两类特征做横向拼接,每个样本最终得到400维的特征向量即可正常训练。

具体实现代码如下:

# 分别将两类嵌入堆叠为 (样本数, 200) 的二维数组
title_emb = np.vstack(df['FastText_Title'])
desc_emb = np.vstack(df['FastText'])

# 横向拼接得到 (样本数, 400) 的总特征矩阵,每个样本前200维是标题嵌入,后200维是描述嵌入
x = np.hstack([title_emb, desc_emb])
y = df['Category']

# 后续训练逻辑和单特征训练逻辑完全一致
model = XGBClassifier(objective='multi:softprob')
score=['accuracy','precision_macro','recall_macro','f1_macro']
scores = cross_validate(model, x, y, cv=5, scoring=score)

如果需要进一步优化效果,可以尝试给两类特征做归一化后再拼接,或者传入特征权重参数让XGBoost学习不同特征的重要性,常规场景下直接拼接即可获得最优效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:39:03