離婚後の日記

離婚した。

4.2 ビニング

(60m)08:30~09:30

4.2 ビニング(決定木、線形モデル)

 

ビニング(離散化):データを分割する。

bins=np.linspace(-3,3,11)

bins:[-3. -2.4 -1.8 -1.2 -0.6 0. 0.6 1.2 1.8 2.4 3. ]

#10個のビン(離散化)ができた

 

#これをワンホットエンコダー(ダミー)する。

from sklearn.preprocessing import OneHotEncoder
encoder=OneHotEncoder(sparse=False)
encoder.fit(which_bin)
X_binned=encoder.transform(which_bin)

 

[[ 0. 0. 0. 1. 0. 0. 0. 0. 0. 0.]

[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 1.]

[ 0. 0. 0. 0. 0. 0. 0. 1. 0. 0.]

[ 0. 0. 0. 0. 0. 1. 0. 0. 0. 0.]

[ 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]]…



ビニングされた特徴量を学習させると
決定木:柔軟性が低下する。(必要がない)
線形モデル:柔軟性が上がる。(それぞれのビンで線形化するので)
→線形モデルにビニングは有効である。決定木に対しては必要ない。