關于騰訊算法大賽

騰訊算法大賽

本文參考于我協會前會長吳師兄的文檔

騰訊社交廣告高校算法大賽是面向高校大學生的算法大賽,作為騰訊核心的廣告業務單元,騰訊社交廣告通過對海量社交數據進行深入分析,構建多樣廣告場景,與8億用戶連接對話。在大數據、機器學習領域的持續創新投入,驅動社交廣告生態發展。本次大賽旨在開放騰訊在社交和數字廣告領域的真實數據,面向高校學生征集最智慧的算法解決方案。

詳細的賽題見騰訊算法大賽, 記得也把 FAQ 看完, 里面也包含了許多重要信息

賽題比較難理解, 因為賽題屬于廣告學范疇, 如果實在難以理解賽題的可以先看看這篇文章, 看完再重新看一遍賽題就會通透許多轉化率預估

官方已經不再關閉數據的下載通道了, 不過之前已經備份到了百度云, 在這里提供給大家官方數據下載


賽題要求

官方提供17-30天移動 APP 的廣告、用戶的轉化情況,及相關上下文, 根據這些數據預測第31天指定用戶和對應廣告的轉化率.

評估方式?(賽題中提供的計算公式)

通過Logarithmic Loss評估(越小越好),公式如下:


img_1145a19821d280defc5f5996ec7f7bfc.png

其中,

N是測試樣本總數,

yi是二值變量,取值0或1,表示第i個樣本的label,

pi為模型預測第i個樣本 label為1的概率。

示例代碼(Python語言實現):


img_0dc00fe262043fb23e8ef83fb0855152.png

項目目的

主要在于剖析和學習大賽中取得 第64 名大牛的分享, 對其代碼進行理解和分析, 主要著重點在于特征工程。

機器學習的主要流程

img_b555dfeaf8734c140afc681748bb7d54.png
機器學習流程


數據分析和清洗方法

img_06dfe69f900845b79a5c49047ef4cbf8.png

關于數據分析,閱讀FAQ可知:

App 的激活定義為用戶下載后啟動了該App,即發生激活行為。從用戶點擊廣告到廣告系統得知用戶激活了App(如果有),通常會有較長的時間間隔,主要由以下兩方面原因導致:

1) 用戶可能在下載之后過了很久才啟動App;

2) 用戶啟動App的行為需要廣告主上報回傳給廣告系統,通常會有一定的延時。

這里回流時間表示了廣告主把App激活數據上報給廣告系統的時間,回流時間超過5天的數據會被系統忽略。

值得注意的是,本次競賽的訓練數據提供的截止第31天0點的廣告日志,因此,對于最后幾天的訓練數據,某些label=0并不夠準確,可能廣告系統會在第31天之后得知label實際上為1。

某些app和用戶的記錄比較少

最后幾天有部分數據不準確

對于這個問題, 這里采用了比較暴力的方法, 將最后幾天這些可能會出現問題的數據刪除


特征工程

特征工程即根據基本的數據提取出更多有用的數據, 然后結合基本特征來選取最終決定需要采用訓練的特征數據, 往往特征工程決定了最終預測的效果

基本數據在官方已經提供了數據描述的表格, 這個一定要好好理解每一個字段的作用, 這里就不重復描述數據的字段了

在這里先強調一下,在做完特征工程之后, 我們得到了更多的特征, 但并不是每一個特征都對模型的訓練有用, 故此我們需要對特征進行篩選 (不僅僅是單方面的取舍, 還需要根據重要的程度進行權重的分配)

通過數據分析,計劃以下的特征作為最終的訓練數據標簽

1.基礎特征:計數特征、轉化率、比例特征等各種基本的特征(各種ID)

2.用戶當天行為特征:基于當天數據統計的用戶行為、app行為的特征

3.用戶歷史行為特征:word2vec 計算用戶行為與歷史行為的關聯


1. 基礎特征

基礎特征即騰訊官方提供的數據,各種的ID標簽,將一些沒用的標簽去掉即可,不需

要作過多的處理


2、3 用戶行為特征的處理

用戶行為特征的處理邏輯較為繁瑣, 也是整個項目中最繁瑣的操作, 邏輯比較難理

清,建議通過源碼來理解

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452799.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452799.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452799.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

列表推導式

#麻煩辦法new_lst []for i in range(10): new_lst.append(i**2)print(new_lst)#簡單辦法print([i**2 for i in range(10)])# 小題下面列表中取余list_a [1,2,3,-5,20,-7]print([i%2 for i in list_a])# 30以內所有能被3整除的數print([won for won in range(30) if won%3 …

軟件過程

軟件過程是為了獲得高質量軟件所需要完成的一系列任務的框架,它規定了完成各項任務的工作步驟。 軟件過程描述為了開發出客戶需要的軟件,什么人(who)、在什么時候(when)、做什么事(what&#x…

【總結整理】JavaScript的DOM事件學習(慕課網)

事件:在文檔或者瀏覽器窗口中發生的一些,特定的交互瞬間 HTML和JavaScript的交互通過事件 來實現 比如:1.滾動條向下滑動,加載圖片 2.圖片輪播,鼠標由2-5頁調換 本章內容1、理解事件流2、使用事件處理程序3、不同的事件…

Python面試題總結(6)--數據類型(綜合)

1. Python 里面如何實現 tuple 和 list 的轉換? 答: Python 中的類型轉換,一般通過類型強轉即可完成 tuple 轉 list 使用 list() 方法 list 轉 tuple 使用 tuple() 方法 2. 我們知道對于列表可以使用切片操作進行部分元素的選擇&#xff0c…

項目經理需要的思維批判

想做好項目經理,就一定要改變你的思維方式。這對于技術出身的朋友尤其重要。 清末人們自以為天朝,他國皆為蠻夷。結果如何呢?喪師辱國,自己淪為病夫。其根本莫非自己腦筋不對頭?后來又搞洋務運動,以為洋人…

NavigationView更改菜單icon和title顏色變化效果

NavigationView menu默認icon和title會隨著菜單狀態改變而改變,選擇某個菜單后再次打開側邊菜單后會發現該菜單的icon和title會變成應用的主顏色,其他菜單項仍然為黑色。 如果想關閉系統默認的這個效果,有兩種方式: 1. XML布局文件…

java項目打鏡像_docker通過dockerfile打java項目鏡像

環境:centos7思路:java -jar 啟動的項目打包成docker images進行運行創建dockerfile——>創建shell腳本——>打包images1、dockerfile內容如下[rootk8s-master xxl-execl]# more dockerfile#網上拖取java8的鏡像FROM java:8MAINTAINER zhangshan-m…

什么是數據庫

數據庫(Database,簡稱DB)是長期儲存在計算機內、有組織的、可共享的大量數據的集合。1.數據庫的基本特征2.數據按一定的數據模型組織、描述和儲存3.可為各種用戶共享4.冗余度較小5.數據獨立性較高6.易擴展

NumPy常用屬性及方法

NumPy是高性能科學計算和數據分析的基礎包。部分功能如下: ndarray, 具有矢量算術運算和復雜廣播能力的快速且節省空間的多維數組。用于對整組數據進行快速運算的標準數學函數(無需編寫循環)。用于讀寫磁盤數據的工具以及用于操作內存映射文件…

Windows下gmssl使用記錄

使用gmssl進行計算sm4,編譯的版本是gmssl2.0,2.1版本編譯不過去 第一步下載軟件,下載Visual Studio 2010旗艦版、nasm-2.13.03-installer-x86、ActivePerl-5.22.4.2205-MSWin32-x86-64int-403863這三個軟件, 注意vs版本不能太低&a…

公司管理項目管理中的技巧

如果在項目實施中選出最難解決的幾個問題,那么管理問題一定名列前茅。在管理問題中,團隊管理又是其中的難點。一個項目管理的好壞,很大程度就體現在團隊的建設和管理上。團隊管理涉及到管理學、心理學和哲學等諸多方面內容,具體實…

數據庫管理系統

什么是數據庫管理系統位于用戶與操作系統之間的一層數據管理軟件是基礎軟件,是一個大型復雜的軟件系統 數據庫管理系統的用途科學地組織和存儲數據、高效地獲取和維護數據數據定義功能提供數據定義語言(DDL)定義數據庫中的數據對象數據組織、…

kangle服務器搭建java_linux下kangle虛擬主機-架設java空間的教程及心得

1. chmod x jdk-6u31-linux-i586-rpm.bin2. ./jdk-6u31-linux-i586-rpm.bin復制代碼(注:如果下載的版本不同輸入實際版本)2.下載插件包:1. wget http://www.kanglesoft.com/download/ent/easypanel-tomcat-lin-1.0.tar.gz2. tar xzf easypanel-tomcat-lin-1.0.tar.g…

Django項目--登錄判斷裝飾器

view.py中定義登錄判斷裝飾器函數 def login_required(view_func):登錄判斷裝飾器def wrapper(request, *view_args, **view_kwargs):# 判斷用戶是否登錄if request.session.has_key(islogin):# 用戶已登錄,調用對應的視圖return view_func(request, *view_args, **view_kwarg…

Apple著手拋棄32位macOS應用程序

\看新聞很累?看技術新聞更累?試試下載InfoQ手機客戶端,每天上下班路上聽新聞,有趣還有料!\\\Apple已經著手拋棄macOS上的32位應用程序了。macOS的下一個維護更新版本High Sierra 10.13.4將會在用戶打開32位應用程序時對…

HiveQL與SQL區別

1、Hive不支持等值連接 ?SQL中對兩表內聯可以寫成:?select * from dual a,dual b where a.key b.key;?Hive中應為?select * from dual a join dual b on a.key b.key; 而不是傳統的格式:SELECT t1.a1 as c1, t2.b1 as c2FROM t1, t2WHERE t1.a2 t…

Django項目--csrf攻擊

1.案例流程圖: 2.django防止csrf的方式: 1 ) Django中默認打開csrf中間件。settings.py文件中: MIDDLEWARE_CLASSES (django.contrib.sessions.middleware.SessionMiddleware,django.middleware.common.CommonMiddleware,django.middlewar…

數據庫管理系統與數據庫系統

數據庫:容納數據的倉庫。數據庫系統:數據庫、數據庫管理系統、硬件、操作人員的合在一起的總稱。數據庫管理系統:用來管理數據及數據庫的系統。數據庫系統包含數據庫管理系統、數據庫及數據庫開發工具所開發的軟件(數據庫應用系統…

如果你扯了團隊后腿,你應該內疚

現在,我看到很多人扯了團隊的后腿,一句道歉就了事,更甚者就以另一種方式來表達:你們沒有給我足夠的培訓,你們的工作方式我無法接受,我工資太低,你們做的事情不夠酷,你們做的事情不賺…