第三章 系統架構
3.2 資料前處理
<1> 特徵選取與創建 (Feature Selection and Creation)
本資料集由 TenMax 廣告公司所提供,資料欄位(Field)特性分為三大種 類:使用者、廣告與媒體。由於原始資料中包含很多是不可讀的資訊,舉例 來說,因為個資法的關係,有許多欄位會先被廣告公司做雜湊處理(Hashing),
因此本階段需透過人工的方式將無法使用的欄位篩選掉,並挑出可用的欄位,
另外延伸某些欄位的特性,擷取出其他可使用的特徵。
原始共有35 個欄位,其中使用者屬性共 9 個、廣告屬性共 8 個、媒體平 台屬性共15 個、其餘屬性共 3 個,篩選與新增後欄位共 18 個,其中使用者 屬性共2 個、廣告屬性共 6 個、媒體平台屬性共 7 個、其餘屬性共 3 個。以 下表1、2、3、4 將依序介紹原始資料集的所有欄位,以及篩選考慮的原因。
針對表1 中的使用者屬性原始欄位,
(1) 編號 1:同一個使用者若清除掉 Cookie,編號就會不同,因此無法確定 同一人,故不採用。
(2) 編號 2:同一個使用者若清除掉 Cookie,編號就會不同,因此無法確定 同一人,故不採用。
(3) 編號 3:由於資料量過大,因此透過此欄為做資料抽樣,取出在台灣(TWN) 的資料,故不做為特徵。
(4) 編號 4:本欄位皆為空值,故不採用。
(5) 編號 5:透過雜湊處理字串無可讀性,故不採用。
(6) 編號 6:本欄位皆為空值,故不採用。
(7) 編號 7 及 8:由於只有作業系統版本的數字,意義是不明確的,像是 iOS 有10.0 版本,Windows 也有 10 版本,故與編號 7 之 os 名稱合併處理。
由於例如iOS 版本會有 10.0.2 及 10.0.3 其基本主體版本為 10,10.0.2 及 10.0.3 的差異多為軟體上小問題的解決,因此本欄位版本以主體版本編 號作為代表。例如:iOS 10、Android 7。
表 1 使用者屬性篩選表
針對表2 中的廣告屬性原始欄位,
(3) 編號 10:同一發佈商,即為同一個 spaceId,故只使用 publisherId 做為 特徵。
(4) 編號 11:透過雜湊處理字串無可讀性,故不採用。
(6) 編號 13:本欄位皆為空值,故不採用。
4 publisherId
發佈商編號。 5ad6008850、
57260f81d98
13 dclkVerticals NULL NULL 不採用
3. 若欄位的屬性值皆為空值,將不採用。
4. 若為電子商務類型欄位,將不採用。
<2> 資料平均抽樣 (Data Sampling)
根據TenMax 公司提供的數據(2016/12/9 ~ 2016/12/15),共有 183,787,971 筆資料,資料大小共佔120G,其中點擊比率僅佔 0.06%。為加強模型之訓練,
本階段資料前處理先透過資料欄位 country 為 TWN 進行抽樣,抽樣後共有 158,589,490 筆資料,並針對點擊與否,採取一比一的數據量進行資料的平均 抽樣。如表5 所示,共取出點擊資料 116,812 筆,未點擊資料 116,812 筆,最 終取樣資料量共233,624 筆資料。
表 5 資料平均抽樣統計
Date # of click # of nonclick Total 2016/12/09 (五) 11,367 11,367 22,734 2016/12/10 (六) 15,256 15,256 30,512 2016/12/11 (日) 12,704 12,704 25,408 2016/12/12 (一) 7,912 7,912 15,824 2016/12/13 (二) 11,860 11,860 23,720 2016/12/14 (三) 12,329 12,329 24,658 2016/12/15 (四) 13,089 13,089 26,178 2016/12/16 (五) 15,637 15,637 31,274 2016/12/17 (六) 16,658 16,658 33,316
Total 116,812 116,812 233,624
<3> 獨熱編碼 (One-Hot Encoding)
由上述特徵挑選後,資料集共有17 個屬性欄位,各欄位的屬性值個數如 表 6 所示。由於類神經網路模型的輸入需求,必須將資料表示為獨熱編碼,
因此根據各屬性的各種特徵值(如表 7),將資料轉成二維屬性值表示(如表 8)。
若該資料具有對應之屬性值則標為1,否則標為 0,其產生結果為一個 544 維 的二維特徵向量。
本篇論文定義𝐹表示所有採用欄位所成的集合,𝐹𝑘表示第𝑘個欄位之屬性 值所成的集合。如表 6 中以𝐹17對應到 day 欄位為例,𝐹17為 {星期一,星期 二,星期三,星期四,星期五,星期六,星期日}。以𝑥表示一整筆資料的獨 熱編碼,𝑥𝑖表示第𝑖 個欄位之獨熱編碼,則如表 8 範例中第一筆資料的 campaignId 以𝐹3表示,其𝑥3為[100]。
表 6 屬性欄位個數
𝑭𝒌 欄位 屬性值個數
𝑭𝟏 osv 44
𝑭𝟐 deviceType 3
𝑭𝟑 campaignId 86
𝑭𝟒 creativeId 166
𝑭𝟓 advertiserId 31
𝑭𝟔 orderId 39
𝑭𝟕 creativeAdType 5
𝑭𝟖 adCategory 17
𝑭𝟗 nativeType 2
𝑭𝟏𝟎 Skippable 2
𝑭𝟏𝟏 invType 3
𝑭𝟏𝟐 publisherId 82
𝑭𝟏𝟑 spaceCat 24
𝑭𝟏𝟒 supplyType 3
𝑭𝟏𝟓 adType 6
𝑭𝟏𝟔 dateTime 24
𝑭𝟏𝟕 day 7
總和 544
表 7 獨熱編碼範例-原始資料型態
No. CampaignId deviceType AdCategory adType 1 4635 Phone Business Image
2 4644 Web Busuness Video
3 4632 Web Education Video
表 8 獨熱編碼範例-轉換後資料型態
No. CampaignId deviceType AdCategory adType
1 100 10 10 10
2 010 01 10 01
3 001 01 01 01