Hyperopt官方中文文档导读
在2017年的圣誕節前,我翻譯了有關HyperOpt的中文文檔,這也時填補了空白,以此作為獻給所有中國程序員,以及所有其他機器學習相關行業人員的圣誕禮物。圣誕快樂,各位。
更新
Hyperopt官方文檔確實比較晦澀難懂,于是我最近補齊了原來挖的坑,Hyperopt的中文教程,同時還包括如何同時使用XGB,lightgbm與Hyperopt.很高興看到也有其他人寫過類似的東西.不過似乎寫的都有點問題,最起碼都沒有Hyperopt與XGB,LGB中的自帶交叉驗證進行結合的方法,其實這個很簡單,有個小技巧.詳細請參考以下文章
- Hyperopt 入門指南
- 在Hyperopt框架下使用XGboost與交叉驗證
- 如何使用hyperopt對Lightgbm進行自動調參
個人測試,使用xgb或者lgb自帶的交叉驗證與hyperopt結合,性能要比與sklearn中的交叉驗證結合速度快四到五倍(測試較少,具體差異需視情況而定).
擴展閱讀:
- 在Python中使用lightgbm
- 在Python中使用XGBoost
HyperOpt中文文檔導讀
翻譯的文檔已經發布于github(官方授權翻譯),請在我的項目Hyperopt_CN中的wiki查看相應文檔.CSDN,知乎同步更新中.
HyperOpt中文版wiki文檔內容包括以下內容:
- HyperOpt中文文檔導讀,即真正的中文文檔主頁
- Home:主頁
- Cite:引用
- FMin:使用FMin方法
- Installation Notes:安裝說明
- Interfacing With Other Languages:在其他語言中使用Hyperopt
- Parallelizing Evaluations During Search via MongoDB:使用MongoDB進行并行搜索
- Recipes:原文中暫時只有一個給定值區間如何采樣的鏈接
- RelatedWork:相關工作
- Scipy2013
下面是hyperopt的官網首頁,作為對其的簡單介紹
Hyperopt
在Python中進行分布式異步超參數優化
Font Tian translated this article on 22 December 2017
hyperopt 是一個Python庫,可以用來尋找實數,離散值,條件維度等搜索空間的最佳值。
# define an objective functiondef objective(args):case, val = argsif case == 'case 1':return valelse:return val ** 2# define a search spacefrom hyperopt import hpspace = hp.choice('a',[('case 1', 1 + hp.lognormal('c1', 0, 1)),('case 2', hp.uniform('c2', -10, 10))])# minimize the objective over the spacefrom hyperopt import fmin, tpebest = fmin(objective, space, algo=tpe.suggest, max_evals=100)print best# -> {'a': 1, 'c2': 0.01420615366247227}print hyperopt.space_eval(space, best)# -> {'case 2', 0.01420615366247227}算法
目前兩種算法的實現:
- 隨機搜索
- Tree of Parzen Estimators (TPE)
Hyperopt 設計伊始,是包括基于高斯過程與回歸樹的貝葉斯優化算法的,但是現在這些都還沒有被實現.
同時,Hyperopt所有的算法都可以通過MongoDB進行串行或者并行計算.
安裝
用戶安裝
pip install hyperopt開發版安裝
git clone https://github.com/hyperopt/hyperopt.git(cd hyperopt && python setup.py develop)(cd hyperopt && nosetests)更多信息,請參見安裝說明。
文檔
文檔現在托管在wiki上,但這里有一些相關頁面的鏈接:
- 基礎教程
- 安裝筆記
- 使用MongoDB
實例
在wiki中打開Hyperot
總結
以上是生活随笔為你收集整理的Hyperopt官方中文文档导读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: AdaBoost算法特性
- 下一篇: Hyperopt中文文档:Home