離婚後の日記

離婚した。

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.]]…



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

第4章 開始

(90m)15:30~17:30

 

第4章 データの表現と特徴量エンジニアリング

連続値特徴量の他に、離散型特徴量がある。

スケール変換のように特徴量を正確に把握することは分析の第一歩である。これを特徴量エンジニアリングと呼ぶ。

 

カテゴリ変数:離散型特徴量である。例えば職業や学歴など・・・

ワンホットエンコーディング(ダミー変数):カテゴリ変数に1or0を当てはめる。しかもそれはそれぞれの回答に。

(例:【職業】「公務員であるかどうか」1or0 「民間かどうか」1or0 「無職かどうか」1or0・・・)

pd.get_dummies()

カテゴリデータチェック:スペルミスや表記の違いなどのためにどのようなカテゴリ分けされているかすべて確認するべき

.value_counts()

数字か言葉か:仮に(質問:「職業」回答「1:公務員 2:民間 3:無職」)があったとすると回答は1~3に収束され、連続値特徴量と誤解する。ワンホットエンコーディングは数字の特徴量は即ち連続量と捉える為、ダミー作成のため変換が必要である。

x.astype(str)

get_dummies(X_data,columns=[x(指定)])

 

#忘れた

LogisticRegression:すぐ忘れるので困る。

 

クラスタリングまとめ

(60m) 05:00~06:00

 

画像はうつった

タブ下げができてない

 

Kmeans:クラスタセンタを用いて特徴を表現できる。クラスタセンタによる成分分解手法としても(凝集型と合わせてクラスタ数指定分類)

DBSCAN:ノイズ検出可能、クラスタ数も自動、ただし平均的な分類は望めない

 

#意味不明だけどぶち込んでる

[mask]

subplot_kw={"xticks":(),"yticks":()}

for X in (--):
    A=B==C

DBSCAN 顔画像

(60m) 05:00~06:00

 「pythonではじめる機械学習

 

クラスタリング:固有数字ではなく区別である。裏:表が一緒であれば0:1も一緒

PCA:大きな特徴量をX軸へ回転(whiten:scalerをかけるか)

シルエット係数:よくわからん。コンパクトさを計算する。

 

最後画像がうつらん。謎