煉丹神器|端到端的機器學(xué)習(xí)和模型管理工具PyCaret

極市導(dǎo)讀
PyCaret 是一個替代的低代碼庫,可用于僅用很少的單詞替換數(shù)百行代碼。PyCaret 本質(zhì)上是圍繞多個機器學(xué)習(xí)庫和框架(例如 scikit-learn、XGBoost、LightGBM、CatBoost、spaCy、Optuna、Hyperopt、Ray 等)的 Python 包裝器。 >>加入極市CV技術(shù)交流群,走在計算機視覺的最前沿
PyCaret這個開源工具,用起來可謂簡單至極,少量代碼就可以搭建各種端到端的模型,廢話不多說,直接看實戰(zhàn)。
PyCaret安裝:
# install slim version (default)
pip install pycaret
# install the full version
pip install pycaret[full]
先用PyCaret自帶的'insurance'數(shù)據(jù)集作為例子,我們看下數(shù)據(jù):
# read data from pycaret repo
from pycaret.datasets import get_data
data = get_data('insurance')
數(shù)據(jù)預(yù)處理
該步驟是使用PyCaret構(gòu)建任何模型強制要做的一步:
# initialize setup
from pycaret.regression import *
s = setup(data, target = 'charges')
執(zhí)行完上述代碼后,不僅自動推斷了各個特征的類型,還問你是否推斷正確。

直接continue,會彈出setup的分析結(jié)果,如下圖所示:

從上圖紅框中,我們驚喜的發(fā)現(xiàn)連訓(xùn)練集測試集都幫忙我們拆分好了,并行已經(jīng)幫我們把訓(xùn)練數(shù)據(jù)shuffle好了。當(dāng)然我們可以自定義拆分比例,如下所示:
setup(data = insurance, target = 'charges', train_size = 0.5)
也可以對數(shù)據(jù)進行scale:
setup(data = pokemon, target = 'Legendary', normalize = True)
會默認(rèn)幫你把連續(xù)值,離散值的缺失值處理掉:

可以對數(shù)據(jù)進行分桶,只需要加上參數(shù)bin_numeric_features :
setup(data = income, target = 'income >50K', bin_numeric_features = ['age'])
需要進行特征篩選的話,也只需要加一個參數(shù)feature_selection = True:
setup(data = diabetes, target = 'Class variable', feature_selection = True)
同樣,一個參數(shù)連異常值都幫你移除了remove_outliers = True:
setup(data = insurance, target = 'charges', remove_outliers = True)
還有各種各樣的預(yù)處理操作,大家可以參考官方文檔。
https://pycaret.org/preprocessing/
模型訓(xùn)練
直接看下我們可以用哪些模型:
# check all the available models
models()

真的是應(yīng)有盡有,大部分煉丹師其實只看到了最下面3個,xgb,lgb,cbt。
模型訓(xùn)練
那么我們就用xgb跑下吧:
# train decision tree
dt = create_model('xgboost')
然后啥都不用寫,測試集上各個mertic就顯示出來了:

模型融合是大家最常用的,也只需要一行代碼:
# train multiple models
multiple_models = [create_model(i) for i in ['dt', 'lr', 'xgboost']]
要比較各個模型,也只需要一行代碼:
# compare all models
best_model = compare_models()

模型預(yù)估:
predictions = predict_model(best_model, data = data2)
所以,大家數(shù)數(shù)看,我們一共才寫了幾行代碼,就把模型預(yù)處理、訓(xùn)練、驗證、融合、預(yù)估全完成了?做表格類數(shù)據(jù)模型真的是太方便了。
如果覺得有用,就請分享到朋友圈吧!
公眾號后臺回復(fù)“CVPR21檢測”獲取CVPR2021目標(biāo)檢測論文下載~

# CV技術(shù)社群邀請函 #

備注:姓名-學(xué)校/公司-研究方向-城市(如:小極-北大-目標(biāo)檢測-深圳)
即可申請加入極市目標(biāo)檢測/圖像分割/工業(yè)檢測/人臉/醫(yī)學(xué)影像/3D/SLAM/自動駕駛/超分辨率/姿態(tài)估計/ReID/GAN/圖像增強/OCR/視頻理解等技術(shù)交流群
每月大咖直播分享、真實項目需求對接、求職內(nèi)推、算法競賽、干貨資訊匯總、與 10000+來自港科大、北大、清華、中科院、CMU、騰訊、百度等名校名企視覺開發(fā)者互動交流~

