天池新人實戰賽-阿里移動推薦演算法大賽(離線賽與平臺賽)
競賽題目 (離線賽與平臺賽題目一樣,只是資料量不一樣,離線2000w+條資料,平臺11億+條資料)
在真實的業務場景下,我們往往需要對所有商品的一個子集構建個性化推薦模型。在完成這件任務的過程中,我們不僅需要利用使用者在這個商品子集上的行為資料,往往還需要利用更豐富的使用者行為資料。定義如下的符號:
U——使用者集合
I——商品全集
P——商品子集,P ⊆ I
D——使用者對商品全集的行為資料集合
商品子集都是偏服務類的商品,涵蓋阿里巴巴集團十個主要的商品大類,例如汽車售後服務、攝影服務、餐飲、電影等,其特色是線上購買、線下服務。
那麼我們的目標是利用D來構造U中使用者對P中商品的推薦模型。
資料說明
本場比賽提供20000使用者的完整行為資料以及百萬級的商品資訊。競賽資料包含兩個部分。
第一部分是使用者在商品全集上的移動端行為資料(D),表名為tianchi_fresh_comp_train_user_2w,包含如下欄位:
欄位 |
欄位說明 |
提取說明 |
user_id |
使用者標識 |
抽樣&欄位脫敏 |
item_id |
商品標識 |
欄位脫敏 |
behavior_type |
使用者對商品的行為型別 |
包括瀏覽、收藏、加購物車、購買,對應取值分別是1、2、3、4。 |
user_geohash |
使用者位置的空間標識,可以為空 |
由經緯度通過保密的演算法生成 |
item_category |
商品分類標識 |
欄位脫敏 |
time |
行為時間 |
精確到小時級別 |
第二個部分是商品子集(P),表名為tianchi_fresh_comp_train_item_2w,包含如下欄位:
欄位 |
欄位說明 |
提取說明 |
item_id |
商品標識 |
抽樣&欄位脫敏 |
item_ geohash |
商品位置的空間標識,可以為空 |
由經緯度通過保密的演算法生成 |
item_category |
商品分類標識 |
欄位脫敏 |
訓練資料包含了抽樣出來的一定量使用者在一個月時間(11.18~12.18)之內的移動端行為資料(D),評分資料是這些使用者在這個一個月之後的一天(12.19)對商品子集(P)的購買資料。參賽者要使用訓練資料建立推薦模型,並輸出使用者在接下來一天對商品子集購買行為的預測結果。
有了新想法我先在離線賽上實驗,成績有提升我才去平臺賽,不過也遇到一些問題,在hive裡執行一點問題沒有的SQL語句,到了ODPS裡就不能用,有很多限制,畢竟資料量大了好幾個數量級,處理起來很費資源,不能那麼隨意的寫了。
剛開始沒理解題意,我還納悶為啥給兩張表= =
U——使用者集合
I——商品全集
P——商品子集,P ⊆ I
D——使用者對商品全集的行為資料集合
那麼我們的目標是利用D來構造U中使用者對P中商品的推薦模型
讓我們預測的是使用者會購買商品子集裡的哪些商品,不是所有的商品。
提示:根據評分規則可以找到一些討巧的辦法~
剛開始沒理解題意,提交的結果F1值極低。
去掉非P中商品之後,F1值咔咔的上去了。然後我就趕緊去平臺賽了~
平臺賽
去除非P中商品之後,F1值咔咔的上去了。
快進前50了!
借鑑了李強大神團隊的PPT,用了GBDT迭代決策樹
--odps sql
--********************************************************************--
--author:斷線紙鳶自由
--create time:2016-04-12 15:12:09
--********************************************************************
describe tianchi_data.tianchi_fresh_comp_train_user_online;
Create table tianchi_fresh_comp_train_item as
select * from tianchi_data.tianchi_fresh_comp_train_item_online;
Create table tianchi_fresh_comp_train_user as
select * from tianchi_data.tianchi_fresh_comp_train_user_online;
。。。。。。
離線賽
前100了!
day3.hql
create external table tianchi_fresh_comp_train_item(item_id string,item_geohash string,item_category string)
row format delimited fields terminated by ','
location '/tianchilxitem';
create external table tianchi_fresh_comp_train_user(user_id string,item_id string,behavior_type bigint,user_geohash string,item_category string,time string)
row format delimited fields terminated by ','
location '/tianchilx';
hive> source /home/guo/day3.hql;
補充:
準確率、召回率、F1
資訊檢索、分類、識別、翻譯等領域兩個最基本指標是召回率(Recall Rate)和準確率(Precision Rate),召回率也叫查全率,準確率也叫查準率,概念公式:
召回率(Recall) = 系統檢索到的相關檔案 / 系統所有相關的檔案總數
準確率(Precision) = 系統檢索到的相關檔案 / 系統所有檢索到的檔案總數
圖示表示如下:
注意:準確率和召回率是互相影響的,理想情況下肯定是做到兩者都高,但是一般情況下準確率高、召回率就低,召回率低、準確率高,當然如果兩者都低,那是什麼地方出問題了。一般情況,用不同的閥值,統計出一組不同閥值下的精確率和召回率,如下圖:
如果是做搜尋,那就是保證召回的情況下提升準確率;如果做疾病監測、反垃圾,則是保準確率的條件下,提升召回。
所以,在兩者都要求高的情況下,可以用F1來衡量。
- F1 = 2 * P * R / (P + R)
公式基本上就是這樣,但是如何算圖1中的A、B、C、D呢?這需要人工標註,人工標註資料需要較多時間且枯燥,如果僅僅是做實驗可以用用現成的語料。當然,還有一個辦法,找個一個比較成熟的演算法作為基準,用該演算法的結果作為樣本來進行比照,這個方法也有點問題,如果有現成的很好的演算法,就不用再研究了。
相關推薦
天池新人實戰賽-阿里移動推薦演算法大賽(離線賽與平臺賽)
競賽題目 (離線賽與平臺賽題目一樣,只是資料量不一樣,離線2000w+條資料,平臺11億+條資料) 在真實的業務場景下,我們往往需要對所有商品的一個子集構建個性化推薦模型。在完成這件任務的過程中,我們不僅需要利用使用者在這個商品子集上的行為資料,往往還需要利用更豐富的使
【天池競賽系列】阿里移動推薦演算法思路解析
賽題地址:http://tianchi.aliyun.com/competition/information.htm?raceId=1 登入即可下載資料 從4月到7月,學習了很多也收穫了很多 題目就不多說了,一句話表達就是根據過去一個月的行為預測14年12月19
阿里移動推薦演算法大賽總結
一、 賽題說明 1. 競賽題目 在真實的業務場景下,我們往往需要對所有商品的一個子集構建個性化推薦模型。在完成這件任務的過程中,我們不僅需要利用使用者在這個商品子集上的行為資料,往往還需要利用更豐富的使用者行為資料。定義如下的符號: U:使用者集合
關於2015阿里移動推薦演算法大賽的總結(二)——推薦演算法
雖然開始走錯了路,但是也學到了東西,美團技術團隊的文件還是不錯的,喜歡的童鞋可以經常去瞅瞅,後面我會給連結的~~~~ —————————————————————————————————————————————————————————————— 具體流程 基本流程如
阿里移動推薦演算法大賽——特徵工程
1 特徵工程是什麼? 有這麼一句話在業界廣泛流傳:資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。那特徵工程到底是什麼呢?顧名思義,其本質是一項工程活動,目的是最大限度地從原始資料中提取特徵以供演算法和模型使用。通過總結和歸納,人們認為特徵工程包
阿里天池大資料之移動推薦演算法大賽總結及程式碼全公佈
移動推薦演算法比賽已經結束了一個多星期了,現在寫一篇文章來回顧一下自己的參賽歷程。 首先,對不瞭解這個比賽的同學們介紹一下這個比賽(引用自官網): 賽題簡介 2014年是阿里巴巴集團移動電商業務快速發展的一年,例如2014雙11大促中移動端成交佔比達到42.6%,超過240億元。相比PC時代,移動端網路的訪
o2o優惠券使用預測--天池新人實戰賽--Baseline程式碼及說明 ( 35 )
一、程式碼說明 1.程式碼為一個baseline程式碼,處理特徵和使用的模型都非常簡單,將會在後期完善。 2.程式碼中只使用offline資料 3.只是簡單對日期和優惠券特徵進行了簡單的處理。 4.程式碼中使用邏輯迴歸進行分類 二、python原始碼 # -*-
天池新人實戰賽之[離線賽]嘗試(一)
題目(https://tianchi.aliyun.com/getStart)就不貼了。經過一些百度的資料,可以將這個問題簡化為:某個U-I組合在觀察日是否有購買行為?(二分類問題)接下來分幾個步驟來拆解整個過程:一.簡單分析將兩個資料表.tianchi_fresh_comp
移動推薦演算法(三):特徵構建
本文為轉載文章,來源為: https://blog.csdn.net/Snoopy_Yuan/article/details/75105724 一直在探索資料探勘、資料建模的案例,百度搜到這篇文章,收穫頗豐,轉載以作記錄。 移動推薦演算法是阿里天池賽2015年賽題之一,題
移動推薦演算法(二):基於簡單規則的預測
本文為轉載文章,來源為: https://blog.csdn.net/Snoopy_Yuan/article/details/72850601 一直在探索資料探勘、資料建模的案例,百度搜到這篇文章,收穫頗豐,轉載以作記錄。 前言:移動推薦演算法是阿里天池賽2015年賽題之
R語言-基於電商平臺真實使用者-商品行為資料的移動推薦演算法模型
推薦模型以阿里移動電商平臺的真實使用者-商品行為資料為基礎訓練。 該資料包含了抽樣出來的一定量使用者在一定時間之內的移動端行為資料,評分資料是這些使用者在之後的一天對商品子集的購買資料。任務是使用訓練資料建立推薦模型,並輸出使用者在接下來一天對商品子集購買行為的預測結果
移動推薦演算法(四):基於LR, RF, GBDT等模型的預測
移動推薦演算法是阿里天池賽2015年賽題之一,題目以移動電商平臺的真實使用者-商品行為資料為基礎來構建商品推薦模型。該題現已成為新人入門的經典演練物件,博主也希望基於該題場景,加深對機器學習相關知識的理解,積累實踐經驗。關於題目回顧與資料初探,可參考:天池離線賽
使用者推薦演算法 pearson(皮爾遜)相似度
距離度量公式有:歐幾里得距離,明可夫斯基距離,曼哈頓距離,切比雪夫距離,馬氏距離等;相似度的度量公式有:餘弦相似度,皮爾森相關係數,Jaccard相似係數。 補充:歐幾里得距離度量會受特徵不同單位刻度的影響,所以一般需要先進行標準化處理。 pearson 當兩個變數的方
《機器學習實戰》第2章閱讀筆記2 K近鄰演算法實現(附詳細程式碼及註釋)
虛擬碼如下: 對未知類別屬性的資料集中的每個點一次執行以下操作: (1)計算已知類別資料集中的點與當前點之間的距離; (2)按照距離遞增次序排序; (3)選取與當前點距離最小的k個點; (4)確定前k個點所在類別出現的頻率 (5)返回前k個點出現頻率最高的類
推薦演算法之Jaccard相似度與Consine相似度
0-- 前言:對於個性化推薦來說,最核心、重要的演算法是相關性度量演算法。相關性從網站物件來分,可以針對商品、使用者、旺鋪、資訊、類目等等,從計算方式看可以分為文字相關性計算和行為相關性計算,具體的實現方法有很多種,最常用的方法有餘弦夾角(Cosine)方法、傑卡德(Jacc
基於深度學習的推薦演算法實現(以MovieLens 1M資料 為例)
前言 本專案使用文字卷積神經網路,並使用MovieLens資料集完成電影推薦的任務。 推薦系統在日常的網路應用中無處不在,比如網上購物、網上買書、新聞app、社交網路、音樂網站、電影網站等等等等,有人的地方就有推薦。根據個人的喜好,相同喜好人群的習慣等資訊進行個性化
基於大資料的推薦演算法研究(1)
孫遠帥. 基於大資料的推薦演算法研究[D]. 廈門大學, 2014. 讀的一篇論文的總結 總覽 基於專案層次結構的推薦演算法,並結合Hadoop技術實現矩陣分解演算法。 改進均衡相似度的餘弦距離和皮爾遜相關係數的計算公式,避免計算目標使用者與所有使
猜你喜歡”推薦演算法大賽冠軍分享
最近在整理一些以往的比賽經驗,下面這篇文章是我在DataCastle 參加“猜你喜歡”推薦演算法大賽獲得冠軍的思路分享。 我是Yes,boy! ,來自東北大學計算機學院。在猜你喜歡推薦系統競賽中,很幸運取得第一名的成績,下面我簡單介紹下我的思路。 本次比賽的
Python推薦演算法案例(3)——基於協同推薦的電影推薦
上一節是根據物品item的描述屬性進行基於內容的推薦基於內容的電影推薦,本節中還是以電影推薦為例,講解基於內容的協同推薦演算法。 python程式碼如下import pandas as pd useritemdata=pd.read_csv('C:/Users/
Centos 6.5掛載華為賽門鐵克存儲(Oceanspace S6800E存儲系統)
size image 主機 ima 安裝 技術 gre 存儲 名稱 Centos 6.5掛載華為賽門鐵克存儲(Oceanspace S6800E存儲系統) 一、存儲端配置1、Oceanspace S6800E ISCSI主機端口配置流程圖2、創建LUN事例說明:選擇要使用的