广告点击率预测项目,目的是通过广告和用户信息预测一个广告是否被点击。数据来自Kaggle竞赛(https://www.kaggle.com/c/avazu-ctr-prediction),源数据比较大,选取前400000条。
1. 数据读取和分析
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
#数据读取
data_df = pd.read_csv('train_subset.csv')
#展示头部数据,分两次展示或者调整python设置达到一次展示所有特征的效果
#data_df.iloc[:, :12].head()
#data_df.iloc[:, 12:].head()
pd.set_option('display.max_columns', None)
data_df.head(20)
大致推断一下一些关键特征的业务含义(源数据已经脱敏):
特征名称 |
业务含义推断 |
id | 数据唯一的ID |
click | 是否点击广告 |
hour | 数据收集时间(yymmddhh) |
banner_pos | 广告投放位置信息 |
site_id | 广告客户网站(某个游戏网站 vs 商家网站) |
site_domain | 网站某种大类(游戏 vs 电商) |
site_category | 网站某种小类(手游 vs 零食) |
app_id | 广告提供商APP |
app_domain | APP大类(社交类 vs 内容类) |
app_category | APP类别(微博 vs 头条) |
device_id | 设备硬件地址(可能是电脑mac地址 vs 手机 IMEI,每个设备唯一) |
device_ip | 设备互联网地址(可能多个设备公用) |
device_model | 设备型号 |
device_type | 设备类型(手机 vs 电脑) |
device_conn_type | 设备连接类型(Wifi vs 4G) |
C14 |
- |
C15 | - |
C16 | - |
C17 | - |