logo
Loading...

葉編碼程式問題 - Cupoy

以下 D32 葉編碼的code 有些看不懂, 想請教教練:1. onehot.fit 及onehot...

葉編碼

葉編碼程式問題

2020/05/08 01:16 PM
機器學習新手論壇
陳志堅
觀看數:0
回答數:5
收藏數:2
葉編碼

以下 D32 葉編碼的code 有些看不懂, 想請教教練:

1. onehot.fit 及onehot.transform 作用有何差異

2. gdbt.apply 之apply 的作用為何?

3, 為何 隨機森林的葉編碼(.apply)不需要加上[:, :, 0], 直接用rf.apply()調用即可

    但是,gdbt.apply(val_X)[:, :, 0],卻需要加上[:, :, 0]


煩請教練撥空解答, 謝謝.


=============================================================

D32 範例:


# 梯度提升樹調整參數並擬合後, 再將葉編碼 (*.apply) 結果做獨熱 / 邏輯斯迴歸

# 調整參數的方式採用 RandomSearchCV 或 GridSearchCV, 以後的進度會再教給大家, 本次先直接使用調參結果

gdbt = GradientBoostingClassifier(subsample=0.93, n_estimators=320, min_samples_split=0.1, min_samples_leaf=0.3, max_features=4, max_depth=4, learning_rate=0.16)


onehot = OneHotEncoder()

lr = LogisticRegression(solver='lbfgs', max_iter=1000)


gdbt.fit(train_X, train_Y)

onehot.fit(gdbt.apply(train_X)[:, :, 0])

lr.fit(onehot.transform(gdbt.apply(val_X)[:, :, 0]), val_Y)