IT・情報処理 / Python 認定

Python 3 エンジニア認定 データ分析試験の例題・出題範囲・重要用語

NumPy/pandas/Matplotlib/統計・機械学習基礎/前処理

出題範囲

  • 可視化(Matplotlib/Seaborn)
  • pandasの基礎/データ操作
  • 前処理/欠損/特徴量
  • NumPyの基礎
  • 統計/機械学習の基礎

例題に挑戦

スキルサートのAIが生成した演習問題のサンプルです。アプリでは毎週新しい問題が追加されます。

例題1

pandasを用いた欠損値処理に関する記述のうち、誤っているものはどれか。

  1. fillna(method='ffill')を実行すると、欠損値はその位置より後にある有効な値(直後の値)で補完される。
  2. dropnaメソッドを使用することで、欠損値(NaN)を含む行または列をデータセットから削除することができる。
  3. interpolateメソッドを使用すると、時系列データなどの場合に前後の値から計算される線形補完によって欠損値を埋めることができる。
  4. isnullメソッドを使用すると、データフレームの各要素が欠損値であるかどうかを判定した結果をブール値で取得できる。
  5. fillnaメソッドに特定の値を渡すことで、データ内のすべての欠損値をその値で一括して補完することができる。
解答と解説を見る

正解: fillna(method='ffill')を実行すると、欠損値はその位置より後にある有効な値(直後の値)で補完される。

正解は「fillna(method='ffill')を実行すると、欠損値はその位置より後にある有効な値(直後の値)で補完される。」です。pandasのfillnaメソッドにおいて、引数methodに'ffill'(forward fill)を指定した場合、欠損値は「直前の有効な値」で補完されます。これに対し、欠損値を「直後の値」で補完したい場合は'bfill'(backward fill)を使用します。欠損値処理は分析の精度に直結するため、データの特性に合わせて補完方向を正しく選択することが重要です。

例題2

scikit-learnのStandardScalerを使用して特徴量の標準化を行った場合、変換後のデータセットの平均と分散はどのような値に変換されるか。

  1. 最小値 0、最大値 1
  2. 平均 0、分散 0
  3. 中央値 0、標準偏差 1
  4. 平均 0、分散 1
  5. 平均 1、分散 0
解答と解説を見る

正解: 平均 0、分散 1

正解は「平均 0、分散 1」です。StandardScalerは「標準化(Standardization)」を行うためのクラスであり、各特徴量から平均を引き、標準偏差で割る計算を行います。これにより、変換後のデータの平均は0、分散(および標準偏差)は1になります。これと混同しやすい手法として、最小値を0、最大値を1にする「正規化(Normalization)」がありますが、これはMinMaxScalerによって行われます。標準化は、外れ値の影響を一定程度抑えつつ、スケールの異なる特徴量を揃えるのに有効です。

重要用語

Figure
Matplotlibにおける描画領域全体のことを指します。一つのFigureの中に、複数のグラフ(Axes)を配置することが可能です。キャンバスのような役割を果たし、グラフのサイズ設定や保存、レイアウトの調整など、描画全体を管理するために使用されます。試験では、plt.figure()関数で生成されるオブジェクトとして、階層構造の最上位に位置するものとして頻出します。
Axes
Figure内にある具体的なグラフを描画する個別の領域のことです。座標軸、ラベル、タイトル、プロットデータなどはすべてこのAxesオブジェクトに保持されます。1つのFigureに複数のAxesを配置することで、複数のグラフを並べて表示できます。Matplotlibのオブジェクト指向インターフェースにおいて、グラフの細かなカスタマイズを行う際に中心となる重要な要素です。
pyplot
Matplotlibのサブモジュールで、グラフ作成を簡便に行うためのインターフェースを提供します。通常「import matplotlib.pyplot as plt」としてインポートされます。状態ベースで作動し、plt.plot()などの関数を呼び出すことで、現在のFigureやAxesに対して暗黙的に描画操作を行います。初学者が手軽にグラフを作成する際に最もよく利用される仕組みです。
scatter
散布図を描画するためのメソッドです。2つの数値変数の関係性や相関を可視化するのに適しており、各データポイントを座標上の点としてプロットします。引数によって点のサイズ(s)、色(c)、形状(marker)などをデータの値に基づいて変化させることができ、多次元の情報を2次元平面上で表現する際にも多用される、データ分析の基本機能です。
hist
ヒストグラム(度数分布図)を描画するためのメソッドです。データの分布状況を把握するために用いられ、連続するデータを一定の区間(ビン)に分け、各区間に属するデータの個数を棒グラフで表します。bins引数で区切り数を指定することで、分布の解像度を調整できます。データの偏りや中央値付近の密度、外れ値の有無を確認する試験問題でよく扱われます。
Seaborn
Matplotlibをベースに構築された、統計データの可視化に特化した高レベルライブラリです。Matplotlibよりも少ないコードで、デフォルトで洗練されたデザインのグラフを作成できます。PandasのDataFrameと非常に相性が良く、カテゴリごとの集計とプロットを自動で行う機能が豊富です。試験ではMatplotlibとの違いや、より高度な統計グラフの作成手法として登場します。
boxplot
箱ひげ図を描画するためのメソッドです。データの最小値、第1四分位数、中央値、第3四分位数、最大値を要約して視覚化します。データのばらつきや偏り、外れ値を一目で把握するのに非常に適しています。複数のカテゴリ間でデータの分布を比較する際によく利用され、記述統計学に基づいたデータ分析において、データの特性を理解するための必須のツールです。
heatmap
主にSeabornで提供される、行列形式のデータを色の濃淡で表現するグラフです。各セルの値の大きさをカラーマップに対応させて表示します。変数間の相関係数行列を可視化する際によく用いられ、どの変数間に強い関係があるかを直感的に探索するのに役立ちます。annot引数を使ってセル内に数値を表示させるなど、実務的なレポート作成でも頻出する手法です。

Python 3 エンジニア認定 データ分析試験の対策はアプリで

AIが毎週生成する新作問題・ランクマッチ・週次ランキング・AI診断で「続けられる」資格学習を。無料で始められます。

IT・情報処理の他の資格