Datawhale AI夏令营第三期 笔记3

一、任务简介

背景简介:

模型迭代优化

在进阶实践部分,将在原有Baseline基础上做更多优化,一般优化思路,从特征工程与模型中来思考。

  1. 特征选择与删除:分析特征的重要性,可以使用特征选择方法(如基于模型的特征重要性)来选择最具有预测能力的特征,也可以删除一些对模型性能影响较小的特征。

  2. 特征组合与交互:将不同特征进行组合、相乘、相除等操作,创建新的特征,以捕捉特征之间的复杂关系。

  3. 数值型特征的分桶(Binning):将连续的数值型特征划分为多个区间,可以提高模型对特征的鲁棒性。

  4. 类别型特征的编码:除了One-Hot编码外,可以尝试使用其他编码方式,如Label Encoding、Target Encoding等,来更好地处理类别型特征。

  5. 时间特征的挖掘:除了示例中的日期和小时提取,还可以尝试提取星期几、月份等时间信息,可能会影响用户行为。

  6. 特征缩放:对数值型特征进行缩放,将它们映射到一个相似的范围,有助于模型收敛和性能提升。

 

 二、实践操作

实操步骤:

  1. 在现有特征工程基础上,加入新的特征观察模型F1是否发生变化。

  2. 尝试三组能增加模型精度的特征,并记录下特征编码过程

  3. 将最优的特征从新训练模型,提交结果。

三、具体操作

1、采用标签编码的方式对数据进行编码

from sklearn import preprocessing

enc=preprocessing.LabelEncoder()
enc=enc.fit(train_data['udmap'])
train_data['udmap_feature']=enc.transform(train_data['udmap'])
enc=preprocessing.LabelEncoder()
enc=enc.fit(test_data['udmap'])
test_data['udmap_feature']=enc.transform(test_data['udmap'])

X=train_data.drop(['target','udmap'],axis=1)
Y=train_data['target']

 2、加入新的特征进行训练

train_data['hour_feature']=train_data['common_ts_hour'].apply(hours_feature)
test_data['hour_feature']=test_data['common_ts_hour'].apply(hours_feature)

train_data['hour_freq']=train_data['common_ts_hour'].map(train_data['common_ts_hour'].value_counts())
test_data['hour_freq']=test_data['common_ts_hour'].map(test_data['common_ts_hour'].value_counts())

train_data['hour_mean']=train_data['common_ts_hour'].map(train_data.groupby('common_ts_hour')['target'].mean())
test_data['hour_mean']=test_data['common_ts_hour'].map(train_data.groupby('common_ts_hour')['target'].mean())

3、提交结果

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值