徒然草子

徒然なるがままに書いていく

カテゴリ変数の特徴量をラベリングする方法

クラスラベルを上手いことまとめる方法たち

名義特徴量などクラスラベルを整数値としてエンコードするために使用する。
scikit-learnのLabelEncoderを使用すれば簡単にラベルをエンコードしてくれる。

enumerateを使う

samples = ['Adam','Balgo','Clouse']
list(enumerate(samples))
# [(0,'Adam'),(1,'Balgo'),(2,'Clouse')]

docs.python.org

LabelEncoderを使う

from sklearn.preprocessing import LableEncoder
le = LabelEncoder()
d = le.fit_transform(sample)
d
# array([0, 1, 2], dtype=int64)

※ちなみに変換したラベルを元の文字列に戻す際は、inverse_transformメソッドを使ってあげる。

OneHotEncoderを使う

from sklearn.preprocessing import OneHotEncoder
from sklearn.compose import ColumnTransformer
ohe = OneHotEncoder()
ct = ColumnTransformer([("categorical", ohe, [0]),
                        ("numeric", "passthrough", [1,2])])
result = ct.fit_transform(X)
result

ある特徴量のみにOHEをかける場合は上記のように使用する。
ただ、特徴量の相関性が高いと多重共線性の問題が発生するケースもあるため、特徴量の列を削除して 簡単に判別できるように調整する必要がある。

参考文献

記述統計と推測統計の違いについて

統計学の目的とは 

 統計学の目的は、以下の2つです。 

①記述統計

②推測統計

単純に分けると、持っているデータ(本文では手持ちのデータ)かそうでないもの(本文中では未知データ)をどう統計学としてどう扱うかの違いだそうです。

つまり、手持ちデータに対してデータを整理・要約してデータに対してどう意味付けを

してくかが、記述統計であり、手持ちのデータを用いて明日の売り上げなど未知のものを予測していくのが、推測統計という認識です。

例えば、前期一四半期の営業部の売上データがあったとして、平均顧客単価や新規開拓数など売上データに意味付けをすることを記述統計とし、

これまでの新規開拓数や販路別の成約数などを用いてどの顧客にどの販路でアプローチするか、来期の売上目標を立てる事などに用いるのが、推測統計の出番かなと言えそうです。

標本と母集団

上記で書いた手持ちデータのことを統計学では、標本と言います。

手持ちデータと未知のデータを含んだ全てのデータを、母集団と言います。

この標本という一部のデータを用いて、母集団という全体について知りたいことを推測していくことが、推測統計の目的であり、統計学を学ぶ上で重要な用語と言えるかなと思います。

まとめ

記述統計でしたいこと=あるデータの特徴を簡単にわかりやすく表現する(例;グラフ表記など)

推測統計でしたいこと=あるデータの特徴から全体のデータについて推測する(例;売上予測など)

参考文献

Pythonで学ぶあたらしい統計学の教科書 (AI & TECHNOLOGY)

記述統計学と推計統計学の違い