この記事では、データの探索的分析(Exploratory Data Analysis: EDA)を行う際に有用なSQLクエリについて詳しく説明します。EDAは、データを理解し、その特性や構造、関連性を明らかにする初期段階の分析手法です。特に大規模なデータセットに対して、効率的に分析を行うためにはSQLが非常に役立ちます。
目次
データの全体像を把握する基本クエリ
SQLによるデータ探索の最初のステップは、データの全体像を把握することです。以下のクエリはそのための基本的なものです。
レコード数のカウント
データの規模感を知る最も簡単な方法は、レコード数をカウントすることです。
SELECT COUNT(*) FROM table_name;
ユニークな値の数をカウント
特定のカラムに含まれるユニークな値の数を知ることで、データの多様性を把握することができます。
SELECT COUNT(DISTINCT column_name) FROM table_name;
クエリの目的 | SQLコード |
---|---|
レコード数のカウント | SELECT COUNT(*) FROM table_name; |
ユニークな値の数をカウント | SELECT COUNT(DISTINCT column_name) FROM table_name; |
データ分布の確認
平均、中央値、最大値、最小値
数値データの分布を理解するためには、平均、中央値、最大値、最小値などの基本的な統計量を知ることが重要です。
SELECT AVG(column_name), MAX(column_name), MIN(column_name) FROM table_name;
パーセンタイル
パーセンタイルを用いることで、データの分布形状をより詳細に把握することができます。
SELECT
PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY column_name) AS percentile_25,
PERCENTILE_CONT(0.50) WITHIN GROUP (ORDER BY column_name) AS percentile_50,
PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY column_name) AS percentile_75
FROM table_name;
クエリの目的 | SQLコード |
---|---|
平均、最大値、最小値 | SELECT AVG(column_name), MAX(column_name), MIN(column_name) FROM table_name; |
パーセンタイル | SELECT PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY column_name) FROM table_name; |
データの関連性を調べる
相関係数
2つのカラム間の関連性を数値で表すには、相関係数が有用です。
SELECT CORR(column1_name, column2_name) FROM table_name;
共起頻度
2つのカテゴリカルデータがどれくらい一緒に出現するかを調べる方法として、共起頻度があります。
SELECT column1_name, column2_name, COUNT(*)
FROM table_name
GROUP BY column1_name, column2_name;
クエリの目的 | SQLコード |
---|---|
相関係数 | SELECT CORR(column1_name, column2_name) FROM table_name; |
共起頻度 | SELECT column1_name, column2_name, COUNT(*) FROM table_name GROUP BY column1_name, column2_name; |
まとめ
データの探索的分析(EDA)に役立つSQLクエリは多数ありますが、この記事で紹介したクエリをマスターすることで、効率的な分析が可能になります。特に大規模なデータセットでの分析を考慮すると、SQLはその力を発揮します。
created by Rinker
¥4,554
(2024/11/22 10:55:01時点 Amazon調べ-詳細)
コメント