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

【DS検定対策】データ解析の第一歩:探索的データ解析(EDA)

データ分析では、いきなり高度な予測モデルを作る前に、データそのものの姿を捉える工程が欠かせません。今回はその基本用語をクイズで学びましょう。

【問題】

問:データ分析において、分析者が事前に特定の仮説を立てることなく、データそのものを観察・可視化することで、その背後にある構造やパターン、知識を抽出するアプローチを何と呼ぶか。

① 探索的データ解析
② 仮説検証型解析
③ アノテーション
④ データの正規化


【正解】

① 探索的データ解析


【解説】

探索的データ解析(EDA:Exploratory Data Analysis)とは、統計学者のジョン・テューキーが提唱した手法です。先入観(仮説)を持たずにデータを要約・可視化し、異常値の発見や新しい仮説の構築につなげる非常に重要な工程です。


■ 図解イメージ

[仮説検証型]:仮説を立てる → 実験 → 検証(Yes/No)
[探索的解析]:データを見る → 特徴を発見 → 仮説を導き出す


■ 選択肢の用語解説

アノテーション:画像等に「正解ラベル」を付けるAI学習の準備作業。
データの正規化:単位や桁が違うデータを一定の範囲に揃える加工手法。


まとめ:

「事前の仮説なしにデータから知識を抽出する = 探索的データ解析(EDA)」。この定義をしっかり押さえておきましょう!



PR

【DS検定対策】データ加工の基本:派生変数の定義と具体例

データ分析において、既存のデータセットには直接存在しない項目を、既存のデータから作り出す工程は非常に重要です。

【問題】

問:データ分析において、元のデータセットには直接存在しないが、既存の変数を組み合わせて計算や加工を施すことで新しく作成した変数のことを何と呼ぶか。

① 目的変数
② 派生変数
③ 外れ値
④ 欠損値

【解説】

正解: ②

既存の変数(生データ)から、計算や加工によって導き出された新しい項目を「派生変数」と呼びます。単なる数値の羅列から、分析に役立つ「意味のある情報」を取り出す重要なステップです。


■ 派生変数の具体例(図解イメージ)

[元のデータ] → [加工] → [派生変数]
・売上、客数 → 割り算 → 客単価
・生年月日 → 計算 → 年齢
・購入商品名 → 分類 → カテゴリフラグ


■ 特徴量エンジニアリングとの関係

特徴量エンジニアリングとは、モデルの精度を高めるためにデータを最適化する工程全体の総称です。派生変数の作成は、その工程の中に含まれる代表的な手法のひとつです。


まとめ:

「既存のデータから導出(計算)できるもの = 派生変数」という定義をしっかり覚えておきましょう!


【DS検定対策】条件付き確率をトランプ図解で攻略!「分母の絞り込み」が合格のカギ

数字だけで説明されると難しく感じる確率の問題も、図にしてみると驚くほどスッと理解できます。この記事では、トランプを題材に、DS検定の頻出項目である「条件付き確率」を解説します。

1. 問題:トランプのマークを当てる

【 問題 】

52枚のトランプから1枚引くとき、そのカードが「黒」であった場合、マークが「クラブ」である確率はいくらでしょうか?

2. 図解:条件付き確率は「世界の絞り込み」

条件付き確率を解く最大のコツは、「条件が示された瞬間に、分母(全体)を切り捨てること」です。


【 図解イメージ 】


[ 全52枚のカード ]

 |

 +-- 黒 (26枚) ---> ★新しい「全体(分母)」

 |    |

 |    +-- クラブ (13枚) ---> ◎ターゲット(分子)

 |    |

 |    +-- スペード (13枚)

 |

 +-- 赤 (26枚) ---> (※計算から除外)

3. 計算プロセス

1. 分母を絞る: 「黒の場合」により、分母は 52 ではなく 26

2. 分子を決める: 黒26枚の中に、クラブは 13枚

3. 答えを出す: 13 ÷ 26 = 1/2




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

問:条件付き確率 P(A|B) において、記号「|」の右側にある事象 B が表す役割として、最も適切なものはどれか。


① 求めたいターゲットとなる結果(分子)

② 既に起こった、あるいは分かっている前提条件(分母)

③ 事象 A と事象 B が独立しているという保証

④ 事象 A が起こる確率を 2 倍にする係数


【 正解: ② 】


解説:

条件付き確率では、条件 B によって全体集合(分母)が制限されます。トランプの例で「黒の場合」と言ったとき、それは分母を26枚に絞り込む「前提条件」となりました。




5. まとめ

DS検定の計算問題では、「何を全体(分母)とするか」を読み間違えないことが大切です!「〜のとき」という言葉に注目して分母を絞り込みましょう。

【Python】SymPyで定積分を解く!x^2 + 1 を範囲指定で計算

数学の解析学において重要な「積分」。PythonのSymPyライブラリを使えば、不定積分だけでなく、範囲を指定した「定積分」も正確に解くことができます。今回は f(x) = x^2 + 1 を [0, 1] の区間で積分する方法を解説します。

1. 考え方:SymPyによる定積分の指定

SymPyで積分を行うには integrate 関数を使用します。定積分の場合は、対象となる変数と、その開始値・終了値を「タプル」という形式で指定するのがルールです。

[ 計算する式 ]
∫ (x^2 + 1) dx (範囲: 0から1)

[ SymPyでの記述 ]
integrate(式, (変数, 開始, 終了))
・今回の例:integrate(x**2 + 1, (x, 0, 1))

2. Pythonサンプルプログラム

変数 x を記号として定義し、それを使って式を組み立てます。計算結果が分数のまま保持されるのがSymPyの強みです。

# -*- coding: utf-8 -*-
from sympy import symbols, integrate

def main():
    # 変数xを記号として定義
    x = symbols('x')

    # 式 f(x) = x^2 + 1 の定義
    f = x**2 + 1

    # 0から1の区間で積分を実行
    # integrate(式, (変数, 開始, 終了))
    ans = integrate(f, (x, 0, 1))

    print("SymPyによる定積分を開始します。")
    print(f"x^2 + 1 を [0, 1] で積分した結果: {ans}")

if __name__ == "__main__":
    main()

3. 実行結果

SymPyによる定積分を開始します。
x^2 + 1 を [0, 1] で積分した結果: 4/3

4. ステップアップ:不定積分と数値化

定積分以外にも、SymPyは柔軟な計算が可能です。

  • 不定積分:範囲を指定せず integrate(f, x) とすれば、元の関数(原始関数)を返します。
  • 小数への変換:結果の 4/31.333... のように小数で表示したい場合は、ans.evalf() メソッドを使います。

5. まとめ

手計算では分数や計算ミスが起きやすい積分も、SymPyを使えば正確かつ迅速に解くことができます。特に理数系のシミュレーションやアルゴリズム開発において、数式をそのままコードに落とし込めるメリットは非常に大きいです。ぜひ活用してみてください!

【DS検定対策】効率的に数え上げる!「約数の個数」は素因数分解で攻略

データの構造を理解する際、大きな数字を要素ごとに分解して考える手法は非常に重要です。今回は144を題材に、素因数分解を利用して「約数の個数」を機械的に求める方法を解説します。

1. 問題:144の正の約数の個数

【 問題 】 144の正の約数は、全部で何個あるでしょうか?

① 10個   ② 12個   ③ 15個   ④ 18個

2. 整理:素因数分解(指数の活用)

約数を一つずつ書き出すのは時間がかかります。まずは144を素数の掛け算に分解(素因数分解)し、その「指数(階乗)」に注目するのがコツです。

【 世界の切り出し 】

[ 144を素因数分解する ]
144 = 12 × 12
    = (2^2 × 3) × (2^2 × 3)
    = 2^4 × 3^2

[ 約数が作られる仕組み ]
約数は、「2を何個使うか」と「3を何個使うか」の組み合わせで決まります。

・2の使い道:{使わない(0個), 1個, 2個, 3個, 4個} の 5通り
・3の使い道:{使わない(0個), 1個, 2個} の 3通り

個数の計算: 5 × 3 = 15個

--------------------------

公式のイメージ: (指数 + 1) を掛け合わせる

3. 計算プロセス

1. 素因数分解: 144を 2^4 × 3^2 の形にします。
2. 指数に1を足す: 2の指数「4」に1を足して「5」、3の指数「2」に1を足して「3」とします。(※「使わない」という選択肢を1通り加えるためです)
3. 掛け合わせる: 5 × 3 を計算して 15個 となります。


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

問:自然数 $N$ が $p^a \times q^b$($p, q$は素数)と素因数分解されるとき、その正の約数の個数を求める式として正しいものはどれか。

① $a \times b$   ② $(a+1) + (b+1)$   ③ $(a+1) \times (b+1)$   ④ $a^p \times b^q$

【 正解: ③ 】

解説: 各素因数について「0個から最大数まで」の選択肢があるため、それぞれの指数に1を足したものを掛け合わせることで、すべての約数の組み合わせ(個数)を網羅できます。


5. まとめ

大きな数字の約数を探すとき、やみくもに割り切れる数字を探すのは非効率です。素因数分解をして「構成要素」を分解することで、今回のように計算だけで確実に個数を導き出せます。データ構造を最小単位まで分解して考える癖をつけましょう!