はじめに
Kaggleの入門サイトとかをあさっていると、頻繁に「KernelでEDAの記事を見てみましょうか」とか
何かにつけてEDAという単語に触れる機会があり、「これは一般名詞なの?Kaggleのローカル用語なの?」ってところがモヤモヤしており、せっかくの機会なので調べることにしました。
参考サイト
とても丁寧に時間をかけてその重要性を説明していただけた
https://www.codexa.net/basic-exploratory-data-analysis-with-python/
結論から…
・EDAは"Exploratory Data Analysis"の略称
・日本語訳で「探索的データ解析」となる
・データの特徴を探求し、構造を理解することを目的とした初動調査
EDAの目的
まずはデータに触れてみて、データを視覚化したり、データのパターンを探したり特徴量やターゲットの関係性/相関性を感じるとるのが目的です。
問題を解決する前に、どのようなデータセットを扱っているのか、どのような状況にあるのかをしっかりと理解するのが重要であり、「探索的データ解析(EDA)」はまさしくそれを目的とした作業となります。
手法
手法自体はいろいろあるのでそれこそいろんなサイトで調べたらわんさか出てくると思った。
ここでは大雑把な枠組みだけメモする
・データの外観確認
最初の5行、最後の5行
各カラムの数量、平均、分散などなど
データ自体の情報(カラム数、行数、データ量など)
カラムの各値の分析(数量、平均、分散などなど)
・データの加工
不要列の削除
フィルタリング(特定期間のみの抽出、特定値のみ除外など)
並べ替え、重複除外
外れ値(=null値)の除外、null値の変換(特定文字への置換(null→N/A)、
・データの可視化
ヒストグラム
散布図
EDAをすると得られるメリット
データを理解することでより適切なモデルの選択を行うことができたり
データをより理解することで特徴量エンジニアリングにおいて重要になってきたり
とあるそうだ。
そもそも問題を理解するためにデータを深く理解することは当然のアプローチなので
気づかないうちに仕事でもやってることだったので、意味が分かれば「なるほどね!」と
言えることが多かった。
メモ…
全然関係ないけどあとで読み返そう・・・
Kaggleにおける「特徴量エンジニアリング」の位置づけ 〜『機械学習のための特徴量エンジニアリング』に寄せて〜