共计 1750 个字符,预计需要花费 5 分钟才能阅读完成。
赛题背景与技术难点
2026 年泰迪杯 B 题聚焦电商平台用户行为预测,需根据历史交互数据(点击、加购、支付等)预测未来一周的购买转化率。核心难点在于:

- 数据维度高且存在时空关联性
- 用户行为序列存在长短期依赖
- 正负样本比例严重失衡(约 1:20)
数据预处理全流程
1. 异常值处理
# 使用 IQR 方法检测数值型特征异常值
Q1 = df['feature'].quantile(0.25)
Q3 = df['feature'].quantile(0.75)
IQR = Q3 - Q1
df = df[~((df['feature'] < (Q1 - 1.5*IQR)) | (df['feature'] > (Q3 + 1.5*IQR)))]
2. 缺失值填充策略
- 数值特征:中位数填充(对异常值鲁棒)
- 类别特征:单独 ”Unknown” 类别
- 时间序列:前后向填充结合
3. 特征标准化
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
df[['num_feat1','num_feat2']] = scaler.fit_transform(df[['num_feat1','num_feat2']])
特征工程方法对比
1. 统计特征
- 用户维度:历史购买频次、平均间隔天数
- 商品维度:点击转化率、加购转化率
2. 时序特征
# 使用 tsfresh 自动生成时序特征
from tsfresh import extract_features
ts_features = extract_features(timeseries_df, column_id="user_id", column_sort="timestamp")
3. 文本特征
- 商品标题 TF-IDF 向量化
- 评论文本情感分析得分
模型选型建议
| 模型 | 适用场景 | 优点 |
|---|---|---|
| RandomForest | 特征间存在非线性关系 | 抗过拟合能力强 |
| XGBoost | 样本量 >10 万 | 支持特征重要性评估 |
| LSTM | 强时序依赖性数据 | 可捕捉长期依赖 |
完整代码实现
# 数据准备
import pandas as pd
from sklearn.model_selection import train_test_split
train = pd.read_csv('train.csv')
test = pd.read_csv('test.csv')
# 示例特征工程
train['user_avg_click'] = train.groupby('user_id')['is_click'].transform('mean')
# 划分数据集
X_train, X_val, y_train, y_val = train_test_split(train.drop('label',axis=1),
train['label'],
test_size=0.2,
stratify=train['label']
)
# XGBoost 建模
from xgboost import XGBClassifier
model = XGBClassifier(
n_estimators=500,
max_depth=6,
learning_rate=0.05,
scale_pos_weight=20 # 处理样本不平衡
)
model.fit(X_train, y_train)
模型调优技巧
-
使用贝叶斯优化替代网格搜索
from skopt import BayesSearchCV opt = BayesSearchCV(XGBClassifier(), {'max_depth': (3,10), 'learning_rate': (0.01,0.3) }, n_iter=30 ) -
早停法防止过拟合
model.fit( X_train, y_train, eval_set=[(X_val, y_val)], early_stopping_rounds=50 )
常见错误及规避
- 数据泄露:避免使用未来信息
- 评估指标误选:优先考虑 AUC-ROC 而非准确率
- 特征冗余:使用方差阈值或相关性过滤
进阶思考
- 如何设计跨用户 - 商品的交叉特征?
- 尝试将统计特征与时序神经网络(如 Transformer)结合
- 探索不同采样方法(SMOTE/ADASYN)对不平衡数据的影响
通过这套方法论,我们在内部测试集上使 AUC 提升了 27%。建议先跑通基线模型,再逐步添加复杂特征。记住:在竞赛中,快速迭代比追求完美更重要。
正文完
