データサイエンス

【データ観察】データ観察の流れを5つのステップに分けて解説!

データ観察 データサイエンス
この記事はこんな方にオススメ

こんにちは、zawato(@zawato7)です!

データサイエンスや機械学習を始めたばかりの人にとって、「まずデータをどうやって見ればいいの?」という疑問はよくありますよね。

今回は、 データ観察(Data Observation) について、初心者向けにわかりやすく解説します。

データ観察の 目的・手順・具体的なコード例 について、ステップごとに説明していきます!

データは集まったけどまず何をすれば良いのかわからない方は、是非参考にしてみてください。

データ観察とは?

データ観察とは、ズバリ データの概要を把握すること です!

これまでのステップで、データは手元にあると思います。

いざ機械学習モデルを作ろうと考えたとき、いきなり学習を始めるのではなく 「データの中身を理解する」 ことが大切です。

データの 構造・欠損値・分布 などを確認し、分析やモデリングの準備をするのが データ観察 です。

データ観察の主な目的は以下の通りです。

  • データの基本構造を理解する(何行・何列あるのか?どんなデータ型か?)
  • 欠損値のチェック(データが足りない部分はないか?)
  • ターゲット(目的変数)の分布を確認する
  • 数値データ・カテゴリデータの傾向を把握する

 

データ観察の手順

データ観察は 5つのステップ で進めるのがオススメです!

以下の流れで進めれば、データの特徴をしっかりつかめます。

データの基本情報を確認

データの基本情報とは、データの行数・列数、カラム名、データ型などのことです!

◼︎プログラム例

import pandas as pd

# データの読み込み
data = pd.read_csv('data.csv')

# データの基本情報
print(data.info())
print(data.head())  # 先頭5行を表示
ポイント
  • info() → データ型(int, float, object など)や欠損値を確認
  • head() → データの一部を表示し、ざっくり内容を把握

 

欠損値のチェック

データの一部が 欠損している(NaNがある) ことがあります。

そのままでは分析や学習に使えないので、事前にチェックしましょう!

◼︎プログラム例

# 欠損値の確認
print(data.isnull().sum())
ポイント
  • isnull().sum() を使うと、各カラムにいくつ欠損があるか分かる
  • 欠損が多すぎる場合、削除・補完(平均値などで埋める)を考える

目的変数(ターゲット)の分布を確認

ターゲット(価格などの予測対象)の データの偏り を確認しましょう!

◼︎プログラム例

import matplotlib.pyplot as plt
import seaborn as sns

# 目的変数(price)の分布
plt.figure(figsize=(10, 6))
sns.histplot(data['price'], bins=50, kde=True)
plt.title('Price Distribution')
plt.xlabel('Price')
plt.ylabel('Frequency')
plt.show()
ポイント
  • ヒストグラムを描くことで、ターゲットの値がどの範囲に集中しているか確認
  • kde=True をつけると 滑らかな分布曲線 も表示される
  • 異常値(極端に大きい or 小さい値)がないか も要チェック

数値データの統計情報を確認

数値データ(年式・走行距離など)の 平均・中央値・最大値・最小値 を見てみましょう!

◼︎プログラム例

# 数値データの統計情報
print(train.describe())
ポイント
  • describe()平均値(mean)・中央値(50%)・標準偏差(std)などを表示
  • 最小値(min)や最大値(max)が極端すぎる場合、外れ値の可能性あり!

 

 

カテゴリデータの分布を確認

数値以外の カテゴリデータ(文字データ) の分布をチェックしましょう!

カテゴリカルデータは統計情報が表示されないため、別途コードを書いて確認する必要があります!

◼︎プログラム例

# カテゴリデータのカラム一覧を取得
categorical_features = data.select_dtypes(include=['object']).columns

# それぞれのデータの分布を確認
for feature in categorical_features:
print(f"\n{feature} のユニーク値とカウント:")
print(train[feature].value_counts())
ポイント
  • select_dtypes(include=['object']) でカテゴリデータだけを抽出
  • value_counts()ユニークな値の個数頻度 を確認
  • データが 偏りすぎていないか も重要(例えば、特定のメーカーの車が極端に少ない場合)

 

 

データ観察の結果をどう活かす?

データ観察の結果は、次の データ前処理特徴量エンジニアリング に活かします!

以下に、各観察結果とその後の対応についてまとめていますので、参考にしてみてください!

観察結果次のアクション
欠損値がある削除 or 補完
価格の分布が極端外れ値の処理を検討
数値データに大きなばらつき正規化(標準化)を検討
カテゴリデータに偏りがあるエンコーディング方法を考える

 

 

おわりに

今回は、データ観察の流れについて解説してきました。

データ観察は、機械学習やデータ分析の 最初のステップ としてとても重要です!

何も考えずにモデルを作るのではなく、まず データの特徴を把握する ことが成功のカギ🔑 です。

これで、データ観察の基本はバッチリ!

次はデータ探索(Data Exploration)に進み、より深い分析をしてみましょう!🚀

感想や改善点などがありましたら、是非コメントしてください!

お問い合わせは、こちら

プロフィール
zawato

データサイエンティストとして3年の実務経験あり。
情報学修士卒。Python歴6年。
このブログでは、主にプログラミングやIT技術関連、エンジニア向けにちょっとした役立つ情報を発信しています。

zawatoをフォローする!
よかったらシェアしてね!
zawatoをフォローする!

コメント

タイトルとURLをコピーしました