在算法選型的時(shí)候經(jīng)常要把相關(guān)算法在數(shù)據(jù)集訓(xùn)練看一下效果,有時(shí)候想有空的時(shí)候一定要把這些工作封裝在一起,快速調(diào)用谭溉。
事實(shí)證明,只要拖的久橡卤,大牛們總會(huì)把讓人心儀的包封裝好扮念。
本次重點(diǎn)推薦調(diào)包俠的機(jī)器學(xué)習(xí)神器—pycaret。
1碧库、初始化
pycaret在初始化setup階段自動(dòng)完成機(jī)器學(xué)習(xí)必需的數(shù)據(jù)預(yù)處理步驟柜与,例如缺失值插補(bǔ)巧勤,分類(lèi)變量編碼,標(biāo)簽編碼(將yes或no轉(zhuǎn)換為1或0)和訓(xùn)練弄匕、測(cè)試集拆分(train-test-split)
from pycaret.classification import setup
# 首先初始化颅悉,傳入數(shù)據(jù)集,Class variable為label信息
exp1 = setup(diabetes, target = 'Class variable')
例如diabetes這份數(shù)據(jù)集是二分類(lèi)場(chǎng)景迁匠,數(shù)據(jù)結(jié)構(gòu)為(768,9)剩瓶,無(wú)缺失值情況,特征處理后有23個(gè)特征柒瓣,拆分訓(xùn)練集
2儒搭、模型比較
# 一行代碼解決模型比較
from pycaret.classification import compare_models
compare_models()
比較這份數(shù)據(jù)集使用不同模型的效果
3、模型搭建與參數(shù)調(diào)優(yōu)
選擇最優(yōu)的算法訓(xùn)練數(shù)據(jù)集芙贫,并進(jìn)行參數(shù)調(diào)優(yōu)
from pycaret.classification import create_model, tune_model
# 模型搭建
adaboost = create_model('ada')
# 參數(shù)調(diào)優(yōu)
tuned_adaboost = tune_model('ada')
小結(jié)
其他內(nèi)容懶得寫(xiě)了搂鲫,總之就是pycaret可以用很少的代碼替換原來(lái)的數(shù)百行代碼,簡(jiǎn)化工作量磺平。
覺(jué)得有時(shí)間可以看一看源碼魂仍,看看特征工程、參數(shù)調(diào)優(yōu)等方面大牛們是怎么打造的
參考資料
[1] https://github.com/pycaret/pycaret
[2] 機(jī)器學(xué)習(xí)建模神器PyCaret已開(kāi)源:https://blog.csdn.net/Datawhale/article/details/106009984