创意视角下的数字广告CTR预估挑战赛baseline_catboost版本_score0.51

  • 1. 赛事任务
  • 2. 数据处理
  • 3. 模型训练与评估

比赛链接

1. 赛事任务

广告的CTR预估需要强大的数据作为支撑,本次大赛提供了讯飞AI营销云海量的现网流量和创意数据作为训练样本,参赛选手需基于提供的样本构建模型,预测测试集的点击率,点击率的准确性将直接影响评价结果。

评估指标gAUC。

2. 数据处理

train_df = pd.read_csv("./dataset/train_data.txt",low_memory=True,header=None,usecols=['label','pkgname','ver','slotid','mediaid','material'],names=['label','pkgname','ver','slotid','mediaid','material'],nrows=None,dtype={'label': "category",'pkgname': "category",'ver': "category",'slotid': "category",'mediaid': "category",'material': "category",},
)
train_df = train_df[train_df['label'] != 'adx_slot_id']
train_data = np.loadtxt("./dataset/train_data.txt",dtype=np.float32,comments="adx_slot_id",delimiter=",",usecols=list(range(6, 246)),
)train_df.to_parquet('./temp_data/train_df.parquet')
np.save('./temp_data/train_data.npy', train_data)
test_df = pd.read_csv("./dataset/test_data.txt",low_memory=True,header=None,usecols=['pkgname','ver','slotid','mediaid','material'],names=['pkgname','ver','slotid','mediaid','material'],nrows=None,dtype={'pkgname': "category",'ver': "category",'slotid': "category",'mediaid': "category",'material': "category",},
)test_data = np.loadtxt("./dataset/test_data.txt",dtype=np.float32,comments="adx_slot_id",delimiter=",",usecols=list(range(5, 245)),
)test_df.to_parquet('./dataset/test_df.parquet')
np.save('./dataset/test_data.npy', test_data)

3. 模型训练与评估

import pandas as pd
%matplotlib inline
import numpy as np
import matplotlib.pyplot as plt
from pylab import *
from sklearn.preprocessing import  OneHotEncoder
## 模型预测的
from sklearn import linear_model
from sklearn import preprocessing
from sklearn.svm import SVR
# from xgboost.sklearn import XGBClassifierimport lightgbm as lgb
#import xgboost as xgb
from catboost import CatBoostClassifier
## 参数搜索和评价的
from sklearn.model_selection import GridSearchCV,cross_val_score,StratifiedKFold,train_test_split
from sklearn.metrics import accuracy_score,f1_score,roc_auc_score,recall_score,precision_score
train_df = pd.read_parquet("./temp_data/train_df.parquet")
test_df = pd.read_parquet("./temp_data/test_df.parquet")train_data = np.load("./temp_data/train_data.npy")
test_data = np.load("./temp_data/test_data.npy")submission = pd.read_csv('./dataset/提交示例.csv')train_data = pd.DataFrame(data=train_data)
test_data = pd.DataFrame(data=test_data)for col in ["pkgname", "ver", "slotid", "mediaid", "material"]:train_df[col] = train_df[col].str.replace("b'", "").str.replace("'", "")test_df[col] = test_df[col].str.replace("b'", "").str.replace("'", "")train_df[['label']] = train_df[['label']].astype('int')train = pd.merge(train_df,train_data,left_index=True,right_index=True)
test = pd.merge(test_df,test_data,left_index=True,right_index=True)X_train = train[train['label'].notnull()].drop(['label'],axis=1)
Y_train = train[train['label'].notnull()]['label']test_data = testcols =['pkgname','ver','slotid','mediaid','material']
model=CatBoostClassifier(loss_function="Logloss",eval_metric="AUC",task_type="CPU",learning_rate=0.05,iterations=500,random_seed=2022,od_type="Iter",depth=10)answers = []
mean_score = 0
mean_f1 = 0
n_folds = 5
sk = StratifiedKFold(n_splits=n_folds, shuffle=True, random_state=2022)for fold_,(train, test) in enumerate(sk.split(X_train, Y_train)):print("fold n°{}".format(fold_))print('trn_idx:',train)print('val_idx:',test)x_train = X_train.iloc[train]y_train = Y_train.iloc[train]x_test = X_train.iloc[test]y_test = Y_train.iloc[test]clf = model.fit(x_train,y_train, eval_set=(x_test,y_test),verbose=500,cat_features=cols)# yy_pred_valid=clf.predict(x_test)            #输出直接为标签yy_pred_valid=clf.predict_proba(x_test)[:,1]  #输出预测为1的概率#验证集的AUCprint('cat验证的auc:{}'.format(roc_auc_score(y_test, yy_pred_valid)))mean_score += roc_auc_score(y_test, yy_pred_valid) / n_foldsprint('mean_score:{}'.format(mean_score))y_pred_valid = clf.predict(test_data)#submission['predict'] = y_pred_valid
#submission.to_csv('./results/cat_0713.csv',index = None)
print('over,请检查submit文件,及时提交文件!')
pd.DataFrame({'predict': (y_pred_valid > 0.1).astype(int)}).to_csv('./results/sub_baseline0714.csv', index=None)

测试集得分0.51左右。

创意视角下的数字广告CTR预估挑战赛_catboost_score0.51相关推荐

  1. 科大讯飞CTR预估挑战赛Top3方案总结

    ‍ ‍前一阵子,老肥参加了科大讯飞AI开发者大赛的部分比赛,主要包括结构化.音频.文本以及图像这四大类型,总体来看都是较为简单的任务并且解题方案也较为简单,后续会跟大家一一分享. 今天要分享的是结构化 ...

  2. CIKM 2021 | 多场景下的星型CTR预估模型STAR

    ▐ 摘要 阿里妈妈展示广告需要为大量的场景提供广告排序能力,在业务场景数急剧膨胀的背景下,我们开始研究多场景联合建模.本篇文章主要介绍,我们在多场景建模下遇到的挑战.挑战背后的思考以及算法工程 co- ...

  3. 广告CTR预估中用户行为学习和记忆建模

    分享嘉宾:邹衡@阿里,并非花名"擎苍" 编辑整理:陈晟 出品平台:DataFun 导读:CTR 预估是计算广告的底层通用技术,在 CPC/OCPC 营销模式下,预估准确性对广告主流 ...

  4. 计算广告CTR预估系列(九)--NFM模型理论与实践

    计算广告CTR预估系列(九)–NFM模型理论与实践 计算广告CTR预估系列(九)–NFM模型理论与实践 一.引言 二.Model Feature Interaction 2.1 介绍 2.2 FM 2 ...

  5. 阿里妈妈技术:多场景下的星型CTR预估模型STAR

    阿里妈妈技术:多场景下的星型CTR预估模型STAR 1.背景 问题定义 2.建模方案(STAR) 2.1.STAR Topology Fully-Connected Network 2.2.Parti ...

  6. 计算广告CTR预估系列(十)--AFM模型理论与实践

    计算广告CTR预估系列(十)–AFM模型理论与实践 计算广告CTR预估系列(十)–AFM模型理论与实践 一.简介 二.FM 三.AFM 3.1 模型 3.2 模型训练 3.3 过拟合 四.总结 五.代 ...

  7. NIPS’20 Spotlight | 精准建模用户兴趣,广告CTR预估准确率大幅提升!

    源 | 京东零售技术 在以人工智能技术为支持的推荐.搜索.广告等业务中,点击率预估(CTR)一直是技术攻坚的核心,同时也是人工智能技术在业务落地中最难实现的技术方向之一.第一期介绍了视觉信息使用帮助提 ...

  8. 【数字化】PLM视角下,数字化工厂的构建之道!

    本文立足智能制造,从PLM视角下,提出了数字化工厂的概念,确立了其内涵与定位.针对数字化工厂的通用技术.应用技术.业务活动及管理等内容开展研究和分析,形成了数字化工厂的技术体系框架,并给出了支撑数字化 ...

  9. 下一个数字广告模式是什么样?

    刚才听闻:Facebook收入2022预计减少100亿美金,归因为移动操作手机厂商对用户信息的保护所导致. 我在想,数字广告,经历了三代: 门户广告,靠钻展广告 搜索广告,靠关键词搜索.点击跳转 社交 ...

最新文章

  1. 通过源代码研究ASP.NET MVC中的Controller和View(二)
  2. Nature综述:工程微生物组的通用原则和最佳实践
  3. 【Groovy】集合声明与访问 ( 使用 [] 创建 ArrayList 和 LinkedList 集合 | 集合赋初值 | 使用下标访问集合 | 使用 IntRange 作为下标访问集合 )
  4. 解决ueditor jquery javascript 取值问题
  5. android uboot log,RK3288 Android 8.1系统uboot logo过渡到kernel logo会花一下
  6. 群联固态硬盘修复工具_群联发布最高容量QLC硬盘: 15.36TB 碾压HDD
  7. 编程猫海龟编辑器python_编程猫海龟编辑器
  8. 研究员发现macOS 版本Safari 浏览器中的严重漏洞,获奖10.5万美元
  9. cvCreateStructuringElementEx理解
  10. 计算机桌面桌面设置动态视频,电脑怎么设置动态桌面
  11. 中望CAD工具栏消失不见的解决方案
  12. java栈和队列的区别是什么意思_java中的栈和队列有什么区别
  13. javaEE自驾游旅游景点管理系统ssm
  14. L 2 聚焦和发散思维模式
  15. 东北酱油 模拟赛 期望dp
  16. 卡洛斯·斯利姆·埃卢
  17. 自己编写代码去听网易云音乐的歌曲,以及观看MV,还可以下载奥
  18. 麻省理工学院计算机博士奖学金,NWU这位高颜值学霸小姐姐,获麻省理工博士全额奖学金录取!...
  19. python使用微信设置-用Python玩微信跳一跳黑科技详细使用教程
  20. 重磅!地球科学类最新SCI期刊影响因子2020

热门文章

  1. “MuseScore”面世,人类仅凭意识来作曲已不是梦想
  2. java: 已在该编译单元中定义com.zhang.collection.Book
  3. 将txt转换成pdf格式的转换方法分享
  4. 通过mac键盘给iPhone、iPad打字
  5. 单例模式应用场景的分析介绍
  6. 最新,孟晚舟担任华为副董事长、轮值董事长
  7. Web自动化测试工具选择
  8. BSE CHINA 2024中国(上海)国际烘焙展览会
  9. HTTP常见状态码(404、400、500)等错误
  10. jQuery----五星好评实现