在對(duì)數(shù)據(jù)進(jìn)行編碼的過程中,經(jīng)常會(huì)遇到一些非結(jié)構(gòu)化的字段(如列表、文本),或者高維稀疏的字段。在使用樹模型的過程中,上述字段對(duì)樹模型很不友好,會(huì)增加樹模型的訓(xùn)練時(shí)間,一般情況需要通過人工特征提取,然后進(jìn)行。有沒有一種可以適合樹模型編碼的操作呢?
在樹模型中可以通過葉子節(jié)點(diǎn)的次序作為進(jìn)行編碼,在Kaggle中稱為Tree Categorical Embedding。Tree Categorical Embedding在訓(xùn)練完樹模型之后,可以通過對(duì)模型進(jìn)行預(yù)測(cè),通過節(jié)點(diǎn)邏輯的判斷從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)。

此時(shí)葉子節(jié)點(diǎn)中包含的樣本類別(或標(biāo)簽均值)為最終的預(yù)測(cè)結(jié)果。這里想要具體的index,也就是樣本預(yù)測(cè)到第幾個(gè)葉子節(jié)點(diǎn)中。在XGBoost中,擁有多棵樹。則一個(gè)樣本將會(huì)被編碼為多個(gè)index,最終可以將index作為額外的類別特征再加入到模型訓(xùn)練。
具體APIXGBoost使用Learning API,設(shè)置pred_leaf參數(shù)
import?xgboost?as?xgb
from?sklearn.datasets?import?make_classification
X,?Y?=?make_classification(1000,?20)
dtrain?=?xgb.DMatrix(X,?Y)
dtest?=?xgb.DMatrix(X)
param?=?{'max_depth':10,?'min_child_weight':1,?'learning_rate':0.1}
num_round?=?200
bst?=?xgb.train(param,?dtrain,?num_round)
bst.predict(dtest,?pred_leaf=True)
LightGBM使用sklearn API或者Learning API,設(shè)置pred_leaf參數(shù)
import?lightgbm?as?lgb
from?sklearn.datasets?import?make_classification
X,?Y?=?make_classification(1000,?20)
dtrain?=?lgb.Dataset(X,?Y)
dtest?=?lgb.Dataset(X)
param?=?{'max_depth':10,?'min_child_weight':1,?'learning_rate':0.1}
num_round?=?200
bst?=?lgb.train(param,?dtrain,?num_round)
bst.predict(X,?pred_leaf=True)
CatBoost使用calc_leaf_indexes函數(shù)
import?catboost?as?cab
from?sklearn.datasets?import?make_classification
X,?Y?=?make_classification(1000,?20)
clf?=?cab.CatBoostClassifier(iterations=200)
clf.fit(X,?Y)
clf.calc_leaf_indexes(X)
使用細(xì)節(jié)leaf index預(yù)測(cè)維度與具體樹個(gè)數(shù)相關(guān),也就是與具體的round相關(guān)。leaf index的預(yù)測(cè)結(jié)果為類別類型。leaf index建議交叉驗(yàn)證編碼,避免自己訓(xùn)練并編碼自己。
交叉驗(yàn)證實(shí)現(xiàn):https://www.kaggle.com/mmueller/categorical-embedding-with-xgb/script
報(bào)名通道已開啟,有想法以及需要報(bào)名的,掃碼咨詢!
【免費(fèi)領(lǐng)取】相關(guān)真題及解析!

以上就是關(guān)于【Kaggle競(jìng)賽知識(shí)點(diǎn)講解-樹模型特征Embedding】的解答,如需了解學(xué)校/賽事/課程動(dòng)態(tài),可至翰林教育官網(wǎng)獲取更多信息。
往期文章閱讀推薦:
??2027年QS最佳留學(xué)城市排名發(fā)布!倫敦位列第三,北美竟無緣Top10 ?
王虹、鄧煜!兩位中國數(shù)學(xué)家同獲菲爾茲獎(jiǎng)!中國數(shù)學(xué)史新紀(jì)元!

? 2026. All Rights Reserved. 滬ICP備2023009024號(hào)-1