<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          “梧桐杯”中國移動大數(shù)據(jù)應用創(chuàng)新大賽 - 智慧金融賽道Baseline

          共 2849字,需瀏覽 6分鐘

           ·

          2021-03-04 02:40

          老肥今天和大家分享的是“梧桐杯”中國移動大數(shù)據(jù)應用創(chuàng)新大賽的智慧金融賽道的Baseline方案(抱歉鴿了很久),線上成績?yōu)?/span>0.9438,處于一個相對靠前的排名位置。

          賽題介紹

          背景

          在金融領域,活躍著一批“職業(yè)羊毛黨”,他們通過套現(xiàn)、套利行為大肆牟利,影響普通用戶本應享有的權(quán)益。他們制作各種自動、半自動的黑產(chǎn)工具,如自動注冊機、刷單自動機、短信代接平臺、分身軟件、貓池等,并捆綁手機卡、銀行卡或通過第三方平臺交易完成套現(xiàn),從而實現(xiàn)“薅羊毛”活動,自身獲利的同時對商家、銀行、平臺、運營商的利益造成損失。如何從普通用戶中有效鑒別出羊毛黨,從而提前進行防范,在實際商業(yè)應用中有著重要的意義。

          任務

          防羊毛黨評分模型旨在從普通用戶中區(qū)分出羊毛黨用戶號碼,本次挑戰(zhàn)賽設置了更具挑戰(zhàn)性的任務,相比其他競賽,本次競賽所提供的訓練字段相對較少,總體為低資源的競賽任務,具體包含:

          初賽——利用用戶通信、流量、app使用等行為數(shù)據(jù)識別真實羊毛黨群體,即簡單的二分類問題,是羊毛黨,或者不是羊毛黨。

          數(shù)據(jù)

          每一個號碼樣本包含兩個月的數(shù)據(jù),由加密過的手機號碼和月份共同構(gòu)成主鍵。包含兩個基礎特征以及多個月消費特征、APP訪問特征、短信特征。訓練數(shù)據(jù)是一月份以及二月份的特征,測試數(shù)據(jù)為三月份以及四月份的特征。

          評價指標

          評價指標為標準的F1 score, 我們可以在這個指標上做很多后處理來提升成績。

          Baseline方案

          本方案未做細致特征工程,非常簡單的Baseline,將特征分為數(shù)值類型的和類別特征。

          data = pd.read_csv('data/data_a.csv')
          # 將\N替換為空值
          data.replace('\\N', np.NaN, inplace=True)
          # 數(shù)值特征
          f_features = ['gprs_fee''overrun_flux_fee''out_actvcall_dur''actvcall_fee',
                 'out_activcall_fee''monfix_fee''gift_acct_amt''call_cnt',
                 'up_flux''down_flux''p2psms_up_cnt',
                 'p2psms_cmnct_fee''p2psms_pkg_fee']
          data[f_features] = data[f_features].astype('float')
          # 類別特征
          cat_cols = ['if_family''if_group''sms_inpkg_ind']
          data.sort_values('month', inplace=True)
          data.drop_duplicates('phone', inplace=True)
          data.reset_index(drop=True, inplace=True)
          data[cat_cols] = data[cat_cols].astype('category')

          并且只選擇了一月份的數(shù)據(jù)來做訓練數(shù)據(jù),鏡像地選用測試集的三月份數(shù)據(jù)作為測試集數(shù)據(jù),使用分層五折進行l(wèi)gb模型的訓練,模型的參數(shù)使用祖?zhèn)鲄?shù),評價標準為binary_error生成預測文件。

          def find_best_t(y_pred, y_true):
              best_score = f1_score(y_true, np.where(y_pred >= 0.5, 1, 0))
              t = 0.5
              for i in tqdm(range(300, 700)):
                  current_score = f1_score(y_true, np.where(y_pred >= i / 1000, 1, 0))
                  if current_score > best_score:
                      best_score = current_score
                      t = i / 1000
                      print(f'best score: {best_score}, best t: {t}')
              return t

          t = 0.5
          t = find_best_t(oof_lgb, y)

          對于該二分類問題,我們還可以通過調(diào)整閾值的后處理方法來提分,選擇本地驗證集最高f1_score的閾值, 在預測時采用相同的閾值(原來閾值為0.5),大于該閾值取1,小于該閾值則取0。

          完整的代碼我已上傳至后臺,回復「梧桐」即可獲得。


          ——END——



          掃碼二維碼

          獲取更多精彩

          老肥碼碼碼

          瀏覽 67
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  黄色A片观看 | 日韩精品一区二区亚洲AV观看 | 先锋影音啪啪啪 | 亚洲视频色 | 爱逼爱操 |