时间:2018.01.21.一周
主要内容
1.整理前期关于决策树的一个小型实践项目文档(实践进行中)
2.搭建TensorFlow环境(进行中)
3.拓展:实践Python的自动化模块pyautogui模块
4.后期承得前会长吴师兄的参考文档,开始对腾讯算法大赛进行项目研究
内容摘要及相关概况
决策树实践项目
详见项目文档
搭建TensorFlow环境
1.通过pip安装TensorFlow基本包
2.在cmd处import tensorflow
3.根据提示,在官网下载对应的CUDA版本,下载完成后进行安装(安装之前先卸载本地的旧版本)
4.下载cuDNN对应的压缩包
pyautogui模块
本周实践了一系列pyautogui模块的函数,这里主要摘要一个实践:
功能
实时给出鼠标当前位置的x、y坐标,也给出这个像素的RGB颜色
代码
![9125154-d085a99bf525ce9a.png](https://i-blog.csdnimg.cn/blog_migrate/468e7f12d720901ed26d1c291583f7e6.webp?x-image-process=image/format,png)
腾讯算法大赛
参考于前会长吴师兄的文档
本周进度
由赛题属于广告学范畴,一开始通过对 转化率预估此篇文章的阅读,对相关概念有所理解
随后,阅读理解了 腾讯算法大赛以及 FAQ 部分
赛题要求
官方提供17-30天移动 APP 的广告、用户的转化情况,及相关上下文, 根据这些数据预测第31天指定用户和对应广告的转化率.
评估方式 (赛题中提供的计算公式)
通过Logarithmic Loss评估(越小越好),公式如下:
![9125154-00fa4afe021c1b13.png](https://i-blog.csdnimg.cn/blog_migrate/f6d8b58732610837e959b3c8789cfa5f.webp?x-image-process=image/format,png)
其中,
N是测试样本总数,
yi是二值变量,取值0或1,表示第i个样本的label,
pi为模型预测第i个样本 label为1的概率。
示例代码(Python语言实现):
![9125154-0f6f49c0fb4a5fe4.png](https://i-blog.csdnimg.cn/blog_migrate/b770a3e04c0f3d8ed5e705cdfeaca060.webp?x-image-process=image/format,png)
项目目的
主要在于剖析和学习大赛中取得 第64 名大牛的分享, 对其代码进行理解和分析, 主要着重点在于特征工程。
机器学习的主要流程
![6228549-6b31771e91c77ed6.png](https://i-blog.csdnimg.cn/blog_migrate/26bb6dc3c2f8d171ce69edfa27764b34.webp?x-image-process=image/format,png)
数据分析和清洗方法
![9125154-d2436a747591af22.png](https://i-blog.csdnimg.cn/blog_migrate/de6f50b3b751a71235e4fbb5af355d0b.webp?x-image-process=image/format,png)
关于数据分析,阅读FAQ可知:
App 的激活定义为用户下载后启动了该App,即发生激活行为。从用户点击广告到广告系统得知用户激活了App(如果有),通常会有较长的时间间隔,主要由以下两方面原因导致:
1) 用户可能在下载之后过了很久才启动App;
2) 用户启动App的行为需要广告主上报回传给广告系统,通常会有一定的延时。
这里回流时间表示了广告主把App激活数据上报给广告系统的时间,回流时间超过5天的数据会被系统忽略。
值得注意的是,本次竞赛的训练数据提供的截止第31天0点的广告日志,因此,对于最后几天的训练数据,某些label=0并不够准确,可能广告系统会在第31天之后得知label实际上为1。
即
某些app和用户的记录比较少
最后几天有部分数据不准确
对于这个问题, 这里采用了比较暴力的方法, 将最后几天这些可能会出现问题的数据删除