忍者ブログ
統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

【データサイエンス】探索的データ分析(EDA)の基本アプローチと4つのステップ

機械学習モデルを構築したり、データからインサイトを引き出したりする前に、まずは「データそのものと対話する」作業が不可欠です。データの特徴や構造を直感的に深く理解するためのプロセスである「探索的データ分析(EDA:Exploratory Data Analysis)」の基本アプローチを整理します。

1. 【 概要 】

探索的データ分析(EDA)とは、統計モデルや機械学習にかける前に、グラフの描画や要約統計量の算出して「データがどのような性質を持っているか」を多角的に把握するプロセスです。

「データの癖」や「予期せぬノイズ・外れ値」を初期段階で見つけ出すことで、後続のデータ前処理やモデリングの精度を劇的に向上させることができます。


2. 【 基本手順(4つのアプローチ) 】

(1) データの分布を見る(ヒストグラムや箱ひげ図などを利用)
(2) データの関係を見る(散布図や相関行列などを利用)
(3) データを要約する(平均値・中央値・標準偏差などの基本統計量)
(4) データを時系列にする(時間軸に沿ったトレンドや周期的な変化を見る)

3. 整理:4つのアプローチの具体的な内容

EDAにおける4つの作業が、実務でそれぞれどのような目的で行われるのかを詳しく見ていきましょう。

【 各プロセスの具体的な仕組み 】

・アプローチ(1):データの分布を見る
各変数がどのような偏りを持っているかを視覚化します。ヒストグラムで「きれいに左右対称か、それとも大きく偏っているか」を確認し、外れ値の存在やデータの歪みを直感的に把握します。

・アプローチ(2):データの関係を見る
2つの変数同士の関係性を散布図などで確認します。「一方が増えると他方も増えるか(相関)」や「グループごとに分かれた傾向(クラスター)があるか」を視覚的にチェックします。

・アプローチ(3):データを要約する
平均値、中央値、最小値、最大値、標準偏差といった「要約統計量」を数値として算出します。データの中心位置やバラつきの大きさを客観的な数字でスピーディーに把握できます。

・アプローチ(4):データを時系列にする
時間経過に伴うデータの推移をグラフ化します。季節ごとのトレンド、急激なスパイク(急増)、長期的な右肩上がり・右肩下がりといった時間軸に依存する規則性を発見します。

4. 関連して押さえたい「EDAを行う最大のメリット」

なぜここまで念入りにEDA(探索的データ分析)を行う必要があるのでしょうか?その最大の理由は「思い込みや前提の誤りに気づくため」です。

人間は、データを見る前に「こうなっているはずだ」という仮説を持ってしまいがちです。しかし、実際にヒストグラムを描いてみると「極端な外れ値のせいで平均値が完全に引っ張られていた」「データに大量の欠損値(空欄)が隠れていた」という事実が次々と見つかります。

「ゴミを入力すれば、ゴミしか出力されない(Garbage in, garbage out)」という原則を避けるためにも、モデリング前のEDAはデータサイエンティストにとって最も重要で不可欠な儀式となります。


5. 補足:Python(Pandas / Seaborn)でのEDA実装コード例

Pythonを使って、データの要約や分布の確認(ヒストグラム・散布図)をサクッと実行するコードのイメージです。
可読性の高いライトグレーの背景でまとめています。

# ライブラリのインポート
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# 3. データを要約する(基本統計量を一発で表示)
print(df.describe())

# 1. データの分布を見る(ヒストグラム)
sns.histplot(df['price'], kde=True)
plt.show()

# 2. データの関係を見る(散布図とペアプロット)
sns.pairplot(df)
plt.show()

6. まとめ

探索的データ分析(EDA)は、「データの分布を見る」「関係性を見る」「要約する」「時系列で追う」という4つのアプローチを通じて、データが持つ本当の姿を浮き彫りにする強力なプロセスです。
勘や思い込みに頼らず、まずはグラフや統計量でデータを隅々まで見渡す習慣をつけて、高品質なデータ分析の土台を築き上げましょう!


PR

【DS検定対策】言葉のバリエーションをまとめる!「ステミング」の仕組みと役割

英語などのテキストを分析する際、同じ意味の単語であっても「run」「running」「ran」のように活用変化していると、コンピュータは「すべて別々の単語」として認識してしまいます。これを防ぐために単語の語幹を切り詰めて統一する前処理が「ステミング(Stemming)」です!

1. 【 問題 】

自然言語処理の前処理において、単語の語尾(活用形や複数形など)を機械的に切り落としたり変換したりして、同じ意味を持つ単語の語幹を一つに統一する手法を何と呼ぶでしょうか?

① ステミング(Stemming / 語幹処理)
② ストップワード除去(Stop Word Removal)
③ 特徴量ハッシング(Feature Hashing)
④ 位置エンコーディング(Positional Encoding)


2. 【 解答 】

正解: ① ステミング(Stemming / 語幹処理)

3. 整理:ステミングの目的と具体例

テキストマイニングや検索エンジンのインデックス作成において、なぜステミングが必要なのかを整理しましょう。

項目内容・具体例
具体的なイメージ ・「connected」「connecting」「connection」 ➔ 「connect」 のような共通の形にまとめる。
・単語の種類(語彙数)が圧縮され、モデルがパターンを学習しやすくなる。
行う目的 単語のバラつき(表記ゆれ)をなくすことで、文書の特徴量を正確に抽出し、検索漏れや機械学習の精度低下を防ぐ。

4. 関連する発展技術:レマタイゼーション(見出し語化)との違い

ステミングと似た概念に「レマタイゼーション(Lemmatization / 見出し語化)」があります。

・ステミング(Stemming):
ルールに基づいて「機械的に語尾を切り詰める」手法(例:「studies」➔「studi」など、実在しない単語になることもある)。処理が高速。

・レマタイゼーション(Lemmatization):
辞書や文法を参照し、品詞を判別しながら「正しい原形(見出し語)」に変換する手法(例:「better」➔「good」、「was」➔「be」)。精度が高いが計算コストがかかる。

5. DS検定形式:実戦4択クイズ

問:自然言語処理における「ステミング(Stemming)」に関する記述として、最も適切なものはどれか。

① 動詞の過去形や複数形などの語尾をルールに基づいて切り詰め、単語の語幹を統一することで語彙数を削減する前処理手法である。
② 「the」や「is」のような、ほぼすべての文書に出現する意味の薄い単語をあらかじめテキストから完全に除外する手法である。
③ 離散的なトークンIDを連続値の多次元ベクトルに変換し、単語の意味的な近さを空間上にマッピングする入力層の仕組みである。
④ 文章を形態素や単語に分解せず、ランダムな文字数で強制的にスライスして特徴量を作成する次元削減手法である。

【 正解: ① 】

解説: ステミングの目的と仕組みを問う標準問題です。
①が正解です。語尾を切り詰めて語幹を統一し、単語のバリエーションをまとめます。
②は「ストップワード除去」、③は「埋め込み層」、④はステミングの説明ではありません。


6. まとめ

DS検定や資格試験で「動詞や名詞の形を統一する」「語幹をまとめる」「語尾を切り詰める前処理」といったキーワードが出たら、正解は「ステミング(Stemming)」です! 直前に確認したストップワード除去とセットで、自然言語処理の前処理の定番として押さえておきましょう!

【DS検定対策】テキスト分析のノイズを消す!「ストップワード」の役割と重要性

大量のテキストデータから重要な情報やキーワードを抽出しようとする時、「the」「is」「was」のような日常会話で頻出する単語は、どの文書にも大量に出現するため分析の邪魔になってしまいます。このように「意味は薄いが頻繁に現れるため除外すべき単語」を「ストップワード(Stop Words)」と呼びます!

1. 【 問題 】

自然言語処理やテキストマイニングの前処理において、冠詞や代名詞、助動詞などのように、ほぼ全ての文書に高頻度で出現する一方で文書の主題(意味)を判別する上で重要度の低い単語を何と呼ぶでしょうか?

① ストップワード(Stop Words)
② トークン(Tokens)
③ 埋め込みベクトル(Embedding Vectors)
④ シグモイド関数(Sigmoid Function)


2. 【 解答 】

正解: ① ストップワード(Stop Words)

3. 整理:ストップワード除去の目的と効果

テキストデータの前処理において、なぜストップワードを取り除く必要があるのかを整理しましょう。

項目内容・効果
主な具体例 英語の "the", "is", "at", "which" や、日本語の「の」「に」「は」「を」など、文法上は必須だが単体では意味を持たない言葉。
除去する目的 これらが残ったままだと、出現回数だけに引きずられて「文章のテーマとは関係ない一般語」が重要だと判定されてしまう。
ストップワードを取り除くことで、本当に重要なキーワードを浮き彫りにし、データの次元数削減(メモリ節約)にもつなげる。

4. 関連する前処理・重要指標との違い

・TF-IDFとの関係:
TF-IDF(単語の重要度を測る指標)では、すべての文書に普遍的に現れる単語のスコアが自動的に低くなる仕組みを持っていますが、事前にストップワードを除去しておくことでよりクリーンで精度の高い分析が可能になります。

・形態素解析(Morphological Analysis):
日本語の文章を「名詞」「動詞」「助詞」などの単語の単位(形態素)にバラバラに分解する前処理。ストップワードの除去は、通常この形態素解析の直後に行われます。

5. DS検定形式:実戦4択クイズ

問:自然言語処理におけるテキストの前処理に関する記述として、最も適切なものはどれか。

① ストップワードは、文章中の単語の出現順序や前後の文脈情報を保持するために、あえてすべての文書の先頭に付与しなければならない特別なトークンである。
② 「the」や「は」「の」などのように頻出するが意味の薄いストップワードを事前に除去することは、分析のノイズを減らし重要度の高いキーワードを抽出する上で有効である。
③ 形態素解析を行う前に、文章をランダムな文字数で強制的に分割し、すべての単語の長さを一定にそろえるための前処理技術である。
④ 辞書を持たずに高次元なテキストデータを固定長のハッシュ値に変換し、メモリの消費量をゼロにするためのハッシュ化トリックの別名である。

【 正解: ② 】

解説: ストップワードの目的と前処理としての役割を正しく理解しているかを問う標準問題です。
②が正解です。意味の薄い頻出語(ストップワード)を除去してノイズを軽減します。
①付与するのではなく除外・削除します。
③形態素解析は文法や品詞に基づいて単語に分割します。
④特徴量ハッシングの説明です。


6. まとめ

DS検定や資格試験で「ほぼ全ての文書に現れる」「wasやtheなどの意味の薄い単語」「前処理として除外する」といったキーワードが出たら、正解は化合物や専門用語ではなく「ストップワード(Stop Words)」です! テキストマイニングの基本の「キ」として確実におさえておきましょう!

【DS検定対策】データがない最初の壁!「コールドスタート問題」の仕組みと対策

ECサイトや動画配信サービスの推薦システム(レコメンデーション)において、システムを導入した直後や、新しいユーザ・商品が追加されたばかりのタイミングでは、避けて通れない大きな課題が存在します。それが「コールドスタート問題(Cold Start Problem)」です!

1. 【 問題 】

レコメンデーションシステムにおいて、ユーザの過去の行動履歴やコンテンツに関する評価データが十分に蓄積されていない初期状態では、適切な推薦を行うことが難しくなる現象を何と呼ぶでしょうか?

① コールドスタート問題(Cold Start Problem)
② オーバフィッティング(Overfitting)
③ 勾配消失問題(Vanishing Gradient Problem)
④ 多重共線性(Multicollinearity)


2. 【 解答 】

正解: ① コールドスタート問題(Cold Start Problem)

3. 整理:コールドスタート問題が起きる2つのパターン

「データがない(冷えた状態からのスタート)」という問題は、主に2つの視点から発生します。

視点内容
新規ユーザの問題
(User Cold Start)
新しく登録したばかりのユーザは購買履歴や閲覧履歴がゼロのため、協調フィルタリングで「好みの似た人」を探すことができず、おすすめを提示できない。
新規アイテムの問題
(Item Cold Start)
新しく入荷した商品は誰も買ったことがなく評価データがないため、誰にお勧めすればよいかシステムが判断できない。

4. コールドスタート問題を乗り越える「対策」

データがない初期の弱点をカバーするため、現場では以下のような工夫が組み合わされます。

① コンテンツベース・フィルタリングの併用:
・履歴がなくても、商品の「カテゴリやタグ」などの特徴(コンテンツ)を見て、似た商品を勧める。

② 人気ランキングや初期アンケートの活用:
・新規ユーザには全ユーザー共通の「売れ筋ランキング」を表示する、あるいは登録時に「好きなジャンル」を選ばせて初期データを補う。

5. DS検定形式:実戦4択クイズ

問:レコメンデーションシステムにおける「コールドスタート問題」に関する記述として、最も適切なものはどれか。

① ユーザの購入履歴やアイテムの評価データが全く蓄積されていないシステム初期や新規登録時において、適切な推薦が困難になる問題である。
② 過去に一度も購入されたことがない不人気なアイテムに対して、人工的に高評価のダミーデータを大量に水増ししてシステムを欺く攻撃手法である。
③ 協調フィルタリングにおいて、ユーザ数が数千万人を超えて急増した際に、計算量が爆発してサーバーがダウンしてしまう現象である。
④ 決定木の学習データが少なすぎてモデルが単純になりすぎ、訓練データすら正しく予測できなくなる過小学習の状態である。

【 正解: ① 】

解説: コールドスタート問題の定義を問う標準的な問題です。
①が正解です。データがない状態からのスタートに起因する推薦の難しさを指します。
②は不正評価(シリング攻撃)等の説明、③はスケーラビリティの問題、④は「過小学習(Underfitting)」の説明です。


6. まとめ

DS検定や資格試験で「情報が集まっていない状態」「履歴がない新規ユーザ・新規アイテム」「レコメンデーションがうまく働かない」といったキーワードが出たら、正解は「コールドスタート問題」です! 協調フィルタリングの弱点とセットでしっかり押さえておきましょう!

【DS検定対策】指示に従うAIを育てる!「インストラクションチューニング」の仕組み

大量のテキストから「次の単語を予測する」ことだけを学んだ事前学習直後のLLM(大規模言語モデル)は、そのままでは人間と自然に会話したり命令に従ったりすることができません。AIに「人間の指示に的確に従って回答する能力」を与えるための重要な学習プロセスが「インストラクションチューニング(Instruction Tuning)」です!

1. 【 問題 】

大規模言語モデル(LLM)の学習プロセスにおいて、人間が作成した「指示(プロンプト)」と「それに対する望ましい応答(回答)」のペアデータを用いてモデルを微調整し、ユーザーの命令や意図に沿った応答ができるようにする手法を何と呼ぶでしょうか?

① インストラクションチューニング(Instruction Tuning)
② 自己教師あり学習(Self-Supervised Learning)
③ 強化学習(Reinforcement Learning)
④ 検索拡張生成(RAG)


2. 【 解答 】

正解: ① インストラクションチューニング(Instruction Tuning)

3. 整理:事前学習モデルとの違い

インストラクションチューニング(別名:SFT / 教師あり微調整)の有無によって、AIの振る舞いは大きく変わります。

モデルの状態学習データ「日本の首都は?」と聞いた時の反応
ベースモデル
(事前学習のみ)
ネット上の生データ
(文章の続き予測)
「日本の首都は? アメリカの首都は? フランスの首都は?…」と、クイズの続きを延々と並べ立ててしまう。
チューニング後
(Instruction Tuning)
「指示と回答のペア」
(教師ありデータ)
「日本の首都は東京です。」と、質問の意図を汲み取って端的に回答する。

4. 生成AI開発の3つのステップ

LLMが私たちの手元に届くまでの一般的なステップを確認しておきましょう。

Step 1:事前学習(Pre-training)
・膨大なテキストを読み込み、言葉のルールや世の中の知識という「基礎体力」をつける。

Step 2:インストラクションチューニング(SFT) ★今回のお題!
・質問と回答のペアを学習させ、「人間の指示に従って受け答えするスタイル」を叩き込む。

Step 3:RLHF(人間からのフィードバックによる強化学習)
・人間の好みや倫理観に合わせて、より安全で高品質な出力になるよう最終調整を行う。

5. DS検定形式:実戦4択クイズ

問:大規模言語モデル(LLM)におけるインストラクションチューニングに関する記述として、最も適切なものはどれか。

① ラベルのない膨大なテキストデータから確率的に次の単語を予測させることで、モデルの基礎的な言語能力を養う教師なし学習の手法である。
② 人間が作成した「指示と回答」のペアデータを用いてモデルを微調整(SFT)し、多様なタスクやプロンプトの意図に沿って回答できるようにする手法である。
③ モデルの出力に対して人間が報酬を与え、その報酬を最大化するように強化学習を行うことで有害な出力を防ぐ手法である。
④ 外部のデータベースから検索した関連文書をプロンプトに動的に埋め込み、ハルシネーションを抑制する技術である。

【 正解: ② 】

解説: インストラクションチューニングの定義を問う標準問題です。
②が正解です。指示と回答のペアを用いた教師あり微調整(SFT)です。
①は「事前学習」、③は「RLHF」、④は「RAG」の説明です。


6. まとめ

DS検定や資格試験で「人間が準備した質問と回答のペア」「指示に従うようにファインチューニング」「SFT(教師あり微調整)」といったキーワードが出たら、正解は「インストラクションチューニング」です! 事前学習との違いや、AI開発のステップとあわせてしっかり押さえておきましょう!