3 Star 0 Fork 1

tfboys-ai/avazu-ctr-2015

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
count_ext.py 1.01 KB
一键复制 编辑 原始数据 按行查看 历史
sisi 提交于 2018-06-04 14:33 . add ftrl
#!/bin/env python3
import pickle
import common as C
import argparse, csv, sys, collections
counts = collections.defaultdict(int) #保存特征-值的频数
exp_days = collections.defaultdict(set) #保存特征-值展示日
def stat(csv_file):
n = 0
global exp_days, counts
for r in csv.DictReader(open(csv_file)):
n += 1
if n % 1000000 == 0:
print(n)
#单独计算了这3个特征_值频数
_uid = "{0}_{1}".format('uid', r['uid'])
_dip = "{0}_{1}".format('device_ip', r['device_ip'])
_did = "{0}_{1}".format('device_id', r['device_id'])
counts[_uid] += 1
counts[_dip] += 1
counts[_did] += 1
#hour格式:14102100
exp_days[_dip].add(r['hour'][4:6])
exp_days[_uid].add(r['hour'][4:6])
def run():
stat("data/tr_ext.csv")
stat("data/te_ext.csv")
exp_nday = {}
for key in exp_days:
exp_nday[key] = len(exp_days[key]) #计算一下展示的天数
pickle.dump(counts, open("data/d3_cnt", 'wb'))
pickle.dump(exp_nday, open('data/exp_nday_cnt', 'wb'))
if __name__ == "__main__":
run()
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/tfboys-ai/avazu-ctr-2015.git
git@gitee.com:tfboys-ai/avazu-ctr-2015.git
tfboys-ai
avazu-ctr-2015
avazu-ctr-2015
master

搜索帮助