![見出し画像](https://assets.st-note.com/production/uploads/images/127521297/rectangle_large_type_2_3b7b5a0be3dfa3e05541e10b6cb83533.png?width=800)
AWS machine learning (機械学習) 勉強記⑤ 探索的データ分析
今回は機械学習の内容が含まれた ”探索的データ分析” に関してです。
図を多めにして記事を書いてます!
前回の記事はこちら
データの理解とデータのサニタイズ
ここまででデータの取り込み、データの変換を実施しました。
しかし、データの中身はまだ乱雑で、欠陥やノイズ等の問題があります。
そこで機械学習モデルを効果的にトレーニングするためにデータのクリーンアップをする必要があります。
記述統計を用いたデータの理解
記述統計は、データセットを要約して、その特性を明らかにするための統計手法です。以下の区分に大別することができます。
全体の統計
データセットの行と列の数を調整します。
例えば、この列の数が多くなると、特徴量が多くなり、次元が高くなります。こうなるとモデルの性能が低下する可能性があります。
これを次元の呪いといったります。
多変量統計
属性間の相関関係に関する統計で、変数間の相互関係などを得ることができます。主成分分析などが例として挙げられます。
属性統計
数値属性に関しる統計であり、属性をよりよく理解するために使われる。
平均、標準偏差、などが挙げられます。
多変量統計
複数の変数や特徴量がある場合はその間の相関を調べられます。
散布図
特徴量間の関係を知りたい場合には散布図を使用することがあります。
![](https://assets.st-note.com/img/1705128655099-xz4Zdvwapz.png)
相関行列
変数間の相関の強さを表す行列です。
1~-1までの値がありますが、相関が完全に相関している場合、二つの値が比例している場合が1、逆に相関している場合、二つの値が半比例している場合が-1になります。まったく相関がない場合は0です。
![](https://assets.st-note.com/img/1705128756910-lZkZvy3IPG.png)
データのサニタイズ
データを理解したので、データのクリーンアップをします。
データは乱雑になっているため、そのデータの整理をすることを指します。
いくつかの例を紹介します。
列表現の正規化
同じ内容のデータは合わせる必要があります。
下記のようなケースでは「YES」と「はい」は同じ意味なため、そのどちらかに合わせる必要があります。
また、機械が読みやすいように数字で表現するのも良いです。
*選択肢にするなど、そもそもデータがばらつかない対策も重要です
![](https://assets.st-note.com/img/1705130126722-VZicID0l7x.png)
データスケールの正規化の正規化
データの中にはスケールが合っていない場合があります。
例えば長さの場合「km」「m」「マイル」などは合わせる必要があります
![](https://assets.st-note.com/img/1705130957840-eI4Ypns8vY.png)
列内の情報の確認
同じ列なのに、複数の特徴を持つ場合があります。
例えば、駅までの距離なのに、家の築年数が入っていたり、ターミナルへのアクセス時間などの異常値が混じっているケースが挙げられるため、データの中身のチェックも必要です。
![](https://assets.st-note.com/img/1705131321888-j3ubnzvwst.png)
データの欠陥の処理
データの中にはデータ収集エラーなどのため欠陥(NaN)が入っている場合もあります。欠陥データがあると、データを正確に解釈することができないため、データの欠陥に対しても処理をする必要があります。
*アルゴリズムによってはデータの欠陥を自動的に補完するものもあります
欠陥を埋める方法はいくつかありますが、データに応じたアプローチをすることが大事です。
・欠陥データを含む行や列を丸ごと削除する
・欠陥を0や平均値など、別の数字で埋める
![](https://assets.st-note.com/img/1705132244462-ImHNPuChHE.png?width=800)
特徴量エンジニアリング
データをクリーンアップした後は、特徴量の加工をすることが必要です。
予測をする際にはもともとあった特徴量を使うだけではなく、新しい特徴量を作成し、モデルの予測能力を強化する必要があります。
下記に例を示します。
データの形式の変換
データを読み取る前には数値データに変換する必要があります。
カテゴリごとにアプローチを変えて対応する必要があります。
順序カテゴリの変換
カテゴリが順序付けされている場合は、その順序を保持しながら数値へ変換する必要があります
![](https://assets.st-note.com/img/1705133863426-osHaTVAg5O.png)
名義カテゴリの変換
カテゴリの順序付けがない場合は、ワンホットエンコーディングなどを用いて、順序を保持せずに数値に変換する必要があります。
要素が多い場合には別の方法もありますが、今回は割愛します。
![](https://assets.st-note.com/img/1705134311746-T9byFVPBni.png?width=800)
データの可視化
データを可視化することで特徴量間の関係をより深く知ることができます。
データの範囲、異常値の有無、パターンの確認等ができます。
最初に伝えた散布図や相関行列以外にも様々な可視化方法があります。
・ヒストグラム
データの分布を理解するのに役立ちます。
![](https://assets.st-note.com/img/1705134670485-4AAdXa2Ldf.png)
・棒グラフ
データ量の違いなど、データの特性を理解するのに役立ちます。
![](https://assets.st-note.com/img/1705134803292-oeESrhx5zo.png)
・円グラフ
各特徴量の割合を調査するのに役立ちます。
![](https://assets.st-note.com/img/1705134875908-RW5FOZFNnB.png)
前回の記事の再掲になりますが、AWSのBIツール、Amazon Quick Sightでこのようなデータの可視化をすることができます。
![](https://assets.st-note.com/img/1705134971963-LwKdzPirHS.png?width=800)
以上が探索的データ分析に関してになります。
長い範囲をまとめたので、記事の量も長くなってしまいました。
次回の記事はこちら!
参考になればいいねを押していただけると嬉しいです。
Xもやってます!まだフォロワーが全然いないので、フォローしていただけると嬉しいです。
ではまた次回!
この記事が気に入ったらサポートをしてみませんか?