import pandas as pd # ----------------数据探索---------------- # 只使用目标域用户行为数据 train_ads = pd.read_csv('train_data_ads.csv', usecols=['log_id', 'label', 'user_id', 'age', 'gender', 'residence', 'device_name', 'device_size', 'net_type', 'task_id', 'adv_id', 'creat_type_cd']) test_ads = pd.read_csv('test_data_ads.csv', usecols=['log_id', 'user_id', 'age', 'gender', 'residence', 'device_name', 'device_size', 'net_type', 'task_id', 'adv_id', 'creat_type_cd']) # 数据集采样 train_ads = pd.concat([ train_ads[train_ads['label'] == 0].sample(70000), #随机取样70000,并与label = 1横向连接 train_ads[train_ads['label'] == 1].sample(10000), ]) # ----------------模型训练---------------- # 加载训练逻辑回归模型 from sklearn.linear_model import LogisticRegression clf = LogisticRegression() clf.fit( train_ads.drop(['log_id', 'label', 'user_id'], axis=1), train_ads['label'] ) print(clf.classes_) # ----------------结果输出---------------- # 模型预测与生成结果文件 test_ads['pctr'] = clf.predict_proba( test_ads.drop(['log_id', 'user_id'], axis=1), )[:, 1] #[:,1]是为了取1的概率,即选取label=1 print(test_ads['pctr']) # test_ads[['log_id', 'pctr']].to_csv('submission.csv', index=None)
HUAWEI赛事CTR广告点击率预测
最新推荐文章于 2024-06-19 18:46:58 发布