1.訓練集資料量大,測試集資料了小,容易在複賽過擬合
3.處理過程:
1)資料清洗
1.1 對缺失值的對維度處理
1.1.1 按列屬性統計缺失值(視覺化)
剔除缺失值比例高的屬性(90%左右);
缺失值比例在40%~60%(預設型-1);
確實在20%左右,平均數或者眾數填充;
統計每個樣本缺失值個數作為乙個特徵,通過比較訓練集和測試集,作圖可以看到離群點,從而剔除離群點
剔除常變數(通過檢視方差/標準差)
1.2 對離群點的剔除方法
在raw data 上訓練xgboost,用得到的xgb模型輸出特徵的重要性,去最重要的20(or 40)個特徵,統計每個樣本在這20個特徵上的缺失值,將缺失值大於10個的樣本刪除
1.3 文字處理
(1)字元大小寫轉換:qq,qq
(2)空格處理:「中國移動「,「中國移動 」」
(3)城市名處理:「重慶市」,「重慶」
2)特徵工程 (業務)(一般常用方法,log,e,離散化,one-hot)
2.1 地理資訊處理(類別變數->one-hot)
(1)(人工)統計了每個省份(粗維度,少),設定閾值篩選出違約率較大的幾個省,然後分別對這幾個省做二值特徵
(2)(xgboost)每個城市的違約率(細維度,多),為了得到有判別性的二值特徵,首先對城市進行獨熱編碼,得到333維的二值特徵,然後在這333維稀疏特徵上訓練xgb模型,根據xgb輸出的特徵重要性選 取部分二值特徵(對應的城市)
(3)按城市等級合併:類別型特徵取值個數太多,one-hot編碼後太高緯度稀疏矩陣(拿不到權重,或者得到有用的區分資訊),除了上面特徵選擇的方法外,還有合併變數的方法(聚類)
(4)經緯度特徵的引入:收集各個城市的經緯度,加入經緯度後,線下的分數提高千分位
(5)城市特徵向量化(個數):將城市特徵裡的城市計數,並取log(嘗試指數),然後等值離散化到幾個區間內(例如6個:100000)
(6)地理位置差異特徵:由於多列都是城市資訊,構建乙個城市差異的特徵,比如diff_12表示1,2列城市是否相同,有千分位的提公升
2.2 成交時間
(1)將成交時間連續化或者離散化處理
2.3 類別型編碼
(1)組合特徵:
xgboost得到top features,於是用這部分特徵構建了組合特徵(兩兩相除得到了7000+個特徵),然後使用xgboost對這7000個特徵單獨訓練,再取top 500達到0.73+,再把500個特徵加進原始體系中,
從0.77+提到0.783,另外還有log(x*y),篩選出270多維,又提高到0.785
2.4 修改資訊表的特徵
(1)修改資訊次數,修改資訊時間到成交時間的跨度,每種資訊的修改次數
(1)登入天數 ,平均登入間隔,每種操作**的次數
3)特徵選擇
xgboost重要度排序,降低過擬合的風險
4)類別不平衡處理
代價敏感學習 與 過取樣
5)模型設計與設計
lr+(l1正則化,1700維) 0.772
xgboost(early stoping,bagging)
svm(sklearn.svc)
多模型的blending ensemble(stacking中的一種(linear))
覆盤 8月 第4周工作覆盤
本次覆盤任務大於意義 7月第3周目標 目的 智慧型運營平台開發工作 目標 1 智慧型運營平台開發 完成累計資料 web開發 7月第4周覆盤 目標完成進度檢查 1.智慧型運營平台工作發現的問題修復 完成 2.跟蹤處理kafka生產問題 完成 3.視客相伴預約導航協助終端聯調測試 完成 達成亮點分析 1...
重構如覆盤
這篇blog算是之前關於重構的乙個總結,導火索是上週花了不少時間把前一段寫的乙個功能模組做的乙個重構。事實 沒做之前,功能什麼的基本都對,有一些小bug和效率不是很好,問題最大的是我感覺這部分有點失控,心裡一種亂的不安全感,這個感覺很差。另外就是在處理bug,增加新的功能和用其他方案做優化的時候,可...
覆盤知識6
1 什麼情況下使用collections.defaultdict?當定義乙個字典時,某個鍵值不存在時會報錯,但是用collections.defaultdict初始化不會報錯,引數可以是int,表示value值是int型別,引數如果是list,表示value值是list列表。2 爬蟲內容 reque...