专栏名称: 大数据挖掘DT数据分析
实战数据资源提供。数据实力派社区,手把手带你玩各种数据分析,涵盖数据分析工具使用,数据挖掘算法原理与案例,机器学习,R语言,Python编程,爬虫。如需发布广告请联系: hai299014
目录
相关文章推荐
宏观土肥圆  ·  数据好不好 ·  11 小时前  
软件定义世界(SDX)  ·  一文读懂DeepSeek背后的核心技术 ·  昨天  
数据派THU  ·  【ICML2025】《基于低分辨率词元枢轴的 ... ·  3 天前  
51好读  ›  专栏  ›  大数据挖掘DT数据分析

腾讯2018广告算法大赛思路解析(python)

大数据挖掘DT数据分析  · 公众号  · 大数据  · 2018-05-12 06:50

正文

请到「今天看啥」查看全文


代码详见github:

https://github.com/YouChouNoBB/2018-tencent-ad-competition-baseline

1.首先处理4个G的用户特征

因为数据太大,而且不是能直接pandas读取的格式,所以需要做格式转换,用dict的方式来初始化DataFrame

2.拼接用户特征,广告特征

训练数据中负样本的标签给的是-1,需要先转成0,预测数据的标签置为-1,方便合并后区分数据集。将缺失值填充为 '-1' ,为什么不是数值的-1呢?因为在LabelEncoder的时候需要对数据排序,同时存在string和int类型是无法比较的。所以需要填充为string类型的 ‘-1’。

3.将单取值的离散特征使用稀疏方式one-hot

为什么要先将数据划分为训练集和测试集呢,因为稀疏的数据是无法分片的,所以只能先划分数据,分别拼接稀疏特征。如果使用pd.get_dummy()来获取onehot特征,生成的数据是可以用来分片的,但是稠密存储是个致命弱点。

github上很多人问我 train_x=train[['creativeSize']] 这句是什么意思,其实creativeSize这个特征是数值特征,不需要进行特别的处理,如果想处理的话可以考虑pd.cut来分段离散化。另一个原因是把这个特征拿出来构造一个新的DataFrame,方便和后面生成的稀疏特征进行拼接。所以使用的是[[]]来取值获得一个DataFrame,而不是[]取值来或者一个Seris







请到「今天看啥」查看全文