CRISP DM
・プロセスモデルのフレームワーク
・EDA
一つの手段に、pandas-profilingがあり、簡単に統計指標やグラフを可視化する
・データ前処理は、分析精度に関わるので、しっかり行う
# 構造化データの前処理
欠損値の処理
・欠損値の削除もしくは補完を行う・
補完は他のデータから統計的に算出して。
isnull() /// 行ごとの欠損値の確認(True/False)
isunll().sum() /// カラムの欠損値の合計値
fillna(欠損値に置き換えたい処理,inplace=True) /// 置き換え処理。inplace=Trueはデータを完全に書き換える。なしだと、一時的な書き換え。
xxx.drop(カラム名,axis=○,inplace=True) /// 指定カラムの削除
※カラム名はリスト表記で複数同時削除可能。.drop(["aaa","bbb","ccc"],axis=1)みたいな
xxx.value_counts() /// 指定業のユニーク値ごとの集計値
カテゴリーデータの処理
・数値で表せないデータ(晴れ曇り雨、、、みたいな)
・それぞれ数値で定義しなおす。
・辞書型などを活用
・One hot Encoding
・カテゴリ値の整数への変換
・SML→123 辞書型で変数を定義してあげる。
mapメソッドを使う
・名義尺度の場合、labelエンコーディングとone hot encoding
・get_dummies関数を使用
・やり方はいろいろある。pandasかsktlearnを使用
性別の数値化の例)
sex_dummy = pd.get_dummies(データ[カラム]) /// 数値化データの生成
xxx = pd.concat([xxx,sex_dummy], axis=1) /// データに数値化データを結合
## 二値化
欠損値とそれ以外で0,1で表記
##離散化
連続値を離散値に変換する(年齢や身長など)
#特徴量スケーリング(モデルの精度上げ)
・標準化・・・回帰分析などで用いることが多い
・正規化・・・画像などに用いることが多い
データの可視化
・matplotlibやseabornでグラフ化する。データの傾向が見つけられる
.seaborn.countplot
hueは、データを細分化する軸のこと。クロスを切るイメージ。