國慶回家,我在手機上訓練XGBoost模型
這篇文章唯一標題黨的一點在於:我並不是使用的手機的運算能力
背景:
國慶放假,不想參加朋友同學聚會、不想去看人山人海,像我這樣了無生趣的碼農,除了回家陪父母小孩,貌似只有看看書搬搬磚咯。考慮節前還有一版機器學習模型準備好了數據,處理好了特徵,只等著餃子下鍋開始訓練,由於迫不及待想看看效果,於是決定就利用在家的間隙做這個事了。
為什麼用手機?
1、回家總是背月餅吧,誰想背個電腦,
2、由於樣本量和特徵量都不小,XGBoost的調參每一次迭代都耗時不少,基本上調一個參數都需要花幾個小時,手機隨身攜帶,過幾個小時看一下,正好適合這個差事,
3、敝司的VPN用手機登比Linux電腦登要方便很多
怎麼玩?
1、在公司Linux伺服器上配置好Jupyter Notebook,
pip3 install jupyter
並用nohup守護後台進程
nohup jupyter notebook &
2、安裝XGBoost
git clone --recursive https://github.com/dmlc/xgboostcd xgboost; make -j4cd python-package; python setup.py install
3、手機連上公司VPN,在Chrome瀏覽器打開Jupyter Notebook的地址
4、安裝神器Hacker『s Keyboard,因為在手機的環境里,Jupyter Notebook最好是使用快捷鍵操作,而Hacker『s Keyboard提供了Ctrl、Alt等按鍵
5、工作的界面是這樣的:
一些技巧
1、自己封裝一下XGBoost的API,減少代碼量,方便調用,同時加入一些可視化有助於互動式的分析
2、熟悉Jupyter NoteBook的快捷鍵,比如Ctrl-Enter運行本單元,Alt-Enter運行本單元,在其下插入新單元
3、當然準備一個藍牙鍵盤更好咯
4、min_child_weight和gamma挺好玩
推薦閱讀:
※LightGBM 中文文檔發布,持續 Update 中,歡迎各位大佬前來裝逼 | ApacheCN
※XGBoost 中文文檔發布,大佬們輕點踩 | ApacheCN
※再看Boosting和GBM
※《XGBoost: A Scalable Tree Boosting System》
TAG:xgboost |