標籤:
----------一個小的遊戲體驗,對於不太熟悉Xlab RF和GBRT同學們都叫參考,不喜勿噴,大神繞道,米姆達。
。
。。
。----------
6月初的時候LR 做到4.9後一直上不去,看群裡火熱的討論RF。轉而使用RF,幾經折騰上手後。在當時的那批對LR來說非常好的特徵處理下,結果F1僅僅有3.5左右。心灰意冷。。
。然後又看到火熱討論GBRT,再轉gbrt,剛上手。效果和RF差點兒相同。看到別的同學直接從LR轉到RF和GBRT都效果好非常多,那個急啊。然後又是考試周。就一直拖拉到6月下旬,最終下定決心又一次做一遍。由於gbrt訓練時間比較長。且RF和GBRT對特徵的效果相當,RF預測時間相對較短一些,便又一次做RF。慢慢的有效果了,停止了F1最終開始往上漲:4.9->5.16->5.66...近期開始再加入特徵。相信還會有提升,以下把我們的RF和GBRT的訓練和預測方法大概講一下(主要以為主)
1、Xlab GBRT上手
1.1、訓練特徵表準備
訓練的特徵表gbrt_offline_section_one_24格式為:user_id,brand_id,feature1,feature2...Label
見:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDY5MTg5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >
1.2 、建立特徵稀疏表。為訓練做準備
特徵稀疏表可直接在Xlab由原始特徵錶轉換得到,例如以下:
進入普通錶轉疏鬆陣列介面後。在選擇列裡填上: user_id相應的列號(表預設從0列開始)。brand_id相應的列號,以及想要使用的眾多特徵相應的列號(不須要填寫標籤相應的列號!。!
);然後在輸出表裡填上轉換成的疏鬆陣列:gbrt_offline_section_one_24_1;例如以
1.3 、GBRT訓練
利用訓練的特徵表gbrt_offline_section_one_24,進行GBRT訓練,例如以所以
進入配置介面。勾選訓練的標籤,疏鬆陣列名處輸入剛才轉好的疏鬆陣列gbrt_offline_section_one_24_1。模型輸出表處填寫模型輸出表名。參數配置處依據效果進行配置(最開始預設就能夠的)。例如以所看到的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDY5MTg5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >
配置好僅僅好就能夠進行訓練了,等待訓練好之後等到GBRT預測模型:gbrt_offline_section_one_25;
1.4、GBRT預測特徵表準備
訓練的特徵表gbrt_offline_section_two_11格式與訓練特徵表格式一樣,為:user_id, brand_id, feature1, feature2...Label 見:
1.5、建立預測疏鬆陣列表
特徵稀疏表可直接在Xlab由原始特徵錶轉換得到,方法和原來一樣。直接例如以下:
須要注意的是,選擇列必須和訓練時候一樣。。。
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDY5MTg5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >
1.6、GBRT預測
利用轉好的預測疏鬆陣列表gbrt_offline_section_two_11_1進行預測,例如以所看到的
進入介面例如以下:model 處填寫剛才訓練好的GBRT模型表:gbrt_offline_section_one_25;輸出表名處填寫預測結果輸出表 gbrt_offline_section_two_13,然後進行預測。例如以所看到的:
1.7、GBRT碎碎念
GBRT預測好之後。得到的結果為與原始預測表gbrt_offline_section_two_11一一相應的單列值y_var(搞不懂為什麼不提供類似RF那樣預測結果追加user_id,brand_id 列),例如以:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDY5MTg5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >
所以。還得進行追加ID列,進行zxs_gbrt_offline_section_two_13_1和zxs_gbrt_offline_section_two_11_1兩張表的合并,得到類似user_id,brand_id,y_val的表,取閾值進行推薦就能夠了。為xlab裡提供的指令碼,追加ID列代碼。
另外:附上指令碼實現的代碼,方便測試:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDY5MTg5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >
-----------__-----------PS---------__----------
著作權聲明:本文部落格原創文章。部落格,未經同意,不得轉載。
阿里遊戲大資料sesson2_RF&GBRT(上)