1 賽題描述
在真實的社交網路中,存在的作弊用戶會影響社交網路平臺,在真實場景中,會受到多方面的約束,我們僅能獲取到少部分的作弊樣本和一部分正常用戶樣本,現需利用已有的少量帶標簽的樣本,去挖掘大量未知樣本中的剩余作弊樣本,
給定一段時間內的樣本,其中包含少量作弊樣本,部分正常樣本以及標簽未知的樣本,參賽者應該利用這段時間內已有的資料,提出自己的解決方案,以預測標簽未知的樣本是否為作弊樣本,
資料處理方法和演算法不限,但是參賽者需要綜合考慮演算法的效果和復雜度,從而構建合理的解決方案,
2 題目思路
基于給定的少量樣本,一個比較直接的思路是通過樣本之間的關聯性挖掘相關的黑樣本,然后基于挖掘得到的相關黑樣本訓練一個二分類器,從而得到更多的黑樣本,
3 題目資料
資料范圍:
- T~T+N 時刻內 點贊、關注事件下按比例抽樣資料
特征型別:

4 資料統計:
- 總賬號數 :4579520
- 帶標簽正常賬號:102630
- 帶標簽作弊賬號數:10667
- 總請求數量:8227327
- 提交評估資料:151117

特征相關性統計如下:

請求資料中存在的都是類別變數,可以統計類別變數下的轉化率,分析哪些特征潛在挖掘價值比較大;對于用戶基礎資料可以通過相關性系數直觀上推斷哪些變數比較重要,
對于數值特征,可以著重統計下用戶粉絲數量與用戶關注數量的差值特征、用戶發布作品數量與用戶作品喜歡數量的差值特征,這些可以逆勢特征可以側面發映出用戶是否存在真實社交行為,而不是“白白”的黑產賬號,

5 特征工程
特征工程決定了模型最后的效果,特征工程在做完常規基礎特征之后,需要根據模型反饋的效果,可以圍繞強特去做進一步的細化特征,最終我們取得了第五名的成績,下面給出一些代碼參考,我們在方案中主要構建了三個維度的特征,
用戶畫像特征:請求表征、基礎特征
- 請求資料的統計特征


## 時間特征
request_feature['app_channel_nacnt_time_ratio']=request_feature['app_channel_nacnt']/(request_feature['time_gap']+1e-3)
request_feature['device_type_nacnt_ratio']=request_feature['device_type_nacnt']/(request_feature['time_gap']+1e-3)
request_feature['request_app_channel_count_ratio']=request_feature['group_request_user_request_app_channel_count']/(request_feature['time_gap']+1e-3)
request_feature['request_count_time_ratio']=request_feature['request_user_count']/(request_feature['time_gap']+1e-3)
request_feature['request_device_type_count_time_ratio']=request_feature['group_request_user_request_device_type_count']/(request_feature['time_gap']+1e-3)
request_feature['request_ip_nuinque_ratio']=request_feature['group_request_user_request_ip_nunique']/(request_feature['time_gap']+1e-3)
request_feature['request_model_nuinque_ratio']=request_feature['group_request_user_request_model_id_nunique']/(request_feature['time_gap']+1e-3)
request_feature['request_target_nuinque_time_ratio']=request_feature['group_request_user_request_target_nunique']/(request_feature['time_gap']+1e-3)

## 強特 二階unique特征
base_cols = [
['request_user', 'request_model_id'],
['request_user', 'request_device_type'],
['request_user', 'request_app_channel'],
['request_user', 'request_app_version'],
]
target_col = ['request_model_id', 'request_ip', 'request_target', 'request_device_type', 'request_app_version',
'request_app_channel']
for base_pair in base_cols:
for col in tqdm(target_col):
if col not in base_pair:
request_feature[col] = request_feature[col].fillna('NAN')
request_feature[f'group_{base_pair[0]}_{base_pair[1]}_{col}_unique'] = \
request_feature[base_pair + [col]].groupby(base_pair)[col].transform('nunique')
- 用戶基礎資訊的統計特征


- 目標編碼

用戶關聯特征:圖嵌入式表示

行為特征:時間段內行為序串列示

模型構建
模型選取:LGB/XGB/CAT
通過在效率較高的LightGBM訓練和迭代不同特征的模型并測驗驗證特征效果,最后在質量較高的特征基礎之上,通過交叉驗證的方式訓練三種模型,得到最后三個模型最優結果,

模型融合:相加平均
在比賽程序中,我們針對三種模型嘗試了不同的融合方案,包括投票融合,加權融合,還有stacking,但是融合收益比較小,最后我們選取的融合方式是直接將三種模型預測概率結果融合簡單平均,能夠達到融合收益最大,

特征重要性分析

6 總結與展望
在比賽程序中,我們嘗試的樹模型可解釋性強且給出衍生特征構建方向,訓練迭代速度快,另外用戶行為特征,時間序列特征以及用戶畫像特征比較重要,同時用戶與設備、用戶與網路之間的網路特征有潛在挖掘價值,嘗試不足的地方是沒有有效通過有監督模型預測無標簽資料集,之后進行偽標簽學習,沒有嘗試神經網路模型或者圖神經網路的實驗效果
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/376957.html
標籤:其他
下一篇:sqlmap基礎
