データとデータ品質に関するインサイトを取得する - Amazon SageMaker

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

データとデータ品質に関するインサイトを取得する

データ品質とインサイトレポートを使用して、Data Wrangler にインポートしたデータを分析します。データセットをインポートした後にレポートを作成することをお勧めします。このレポートはデータのクリーニングと処理に役立ちます。欠損値の数や外れ値の数などの情報が提供されます。ターゲット漏洩や不均衡など、データに問題がある場合は、インサイトレポートでそれらの問題に注意を向けることができます。

以下の手順を使用して、データ品質とインサイトレポートを作成します。Data Wrangler フローにデータセットをインポート済みであることを前提としています。

データ品質とインサイトレポートを作成するには
  1. Data Wrangler フロー内のノードの横にある [+] を選択します。

  2. [データインサイトを取得する] を選択します。

  3. [分析名] に、インサイトレポートの名前を指定します。

  4. (オプション) [ターゲット列] に、ターゲット列を指定します。

  5. [問題のタイプ] に、[回帰] または [分類] を指定します。

  6. [データサイズ] に、次のいずれかを指定します。

    • [50 K] — インポートしたデータセットの最初の 50,000 行を使用してレポートを作成します。

    • [データセット全体] — インポートしたデータセット全体を使用してレポートを作成します。

    注記

    データセット全体で Data Quality and Insights レポートを作成すると、Amazon SageMaker 処理ジョブが使用されます。 SageMaker 処理ジョブは、すべてのデータのインサイトを取得するために必要な追加のコンピューティングリソースをプロビジョニングします。ジョブ SageMaker の処理の詳細については、「」を参照してください SageMaker 処理によるデータ変換ワークロード

  7. [Create] (作成) を選択します。

以下のトピックはレポートの各セクションを示しています。

レポートはダウンロードすることも、オンラインで表示することもできます。レポートをダウンロードするには、画面右上にあるダウンロードボタンを選択します。次の図は、ボタンを示しています。

ダウンロードボタンの例。

[概要]

インサイトレポートには、欠損値、無効な値、特徴型、外れ値の数などの一般的な情報を含むデータの簡単な概要が表示されます。また、データに問題がある可能性を示す、重要度の高い警告を含めることもできます。警告を調査することをお勧めします。

レポートの要約の例を次に示します。

レポートの概要の例。

ターゲット列

データ品質とインサイトレポートを作成すると、Data Wrangler ではターゲット列を選択するオプションが表示されます。ターゲット列とは、予測しようとしている列のことです。ターゲット列を選択すると、Data Wrangler はターゲット列分析を自動的に作成します。また、予測能力の順に特徴をランク付けします。ターゲット列を選択するときは、解決しようとしているのが回帰問題なのか分類問題なのかを指定する必要があります。

分類の場合、Data Wrangler は最も一般的なクラスの表とヒストグラムを表示します。クラスはカテゴリです。また、ターゲット値が欠落しているか無効である観測値または行も表示されます。

次の図は、分類問題のターゲット列分析の例を示しています。

ターゲット列分析の例。

回帰の場合、Data Wrangler はターゲット列のすべての値のヒストグラムを表示します。また、ターゲット値が欠落している、無効である、または外れ値になっている観測値または行も表示されます。

次の図は、回帰問題のターゲット列分析の例を示しています。

ターゲット列分析の例。

クイックモデル

クイックモデルでは、データを使ってトレーニングしたモデルの想定される予測品質を推定できます。

Data Wrangler はデータをトレーニングフォールドと検証フォールドに分割します。サンプルの 80% をトレーニングに、値の 20% を検証に使用します。分類の場合、サンプルは層化分割されます。層化分割では、各データパーティションのラベルの比率は同じです。分類問題では、トレーニングフォールドと分類フォールドのラベルの比率を同じにすることが重要です。Data Wrangler は、デフォルトのハイパーパラメータを使用してXGBoostモデルをトレーニングします。検証データに早期停止を適用し、特徴の前処理は最小限に抑えます。

分類モデルの場合、Data Wrangler はモデルの要約と混同行列の両方を返します。

以下は、分類モデルの要約の例です。返される情報の詳細については、「定義」を参照してください。

分類モデルの概要の例。

以下に、クイックモデルが返す混同行列の例を示します。

混同行列の例。

混同行列には、次の情報が表示されます。

  • 予測されたラベルが実際のラベルと一致する回数。

  • 予測されたラベルが実際のラベルと一致しない回数。

実際のラベルは、データ内の実際の観測値を表します。例えば、モデルを使用して不正取引を検出する場合、実際のラベルは実際に不正または不正でない取引を表します。予測されたラベルは、モデルがデータに割り当てるラベルを表します。

混同行列を使用すると、モデルが条件の有無をどの程度正確に予測できるかを確認できます。不正取引を予測する場合は、混同行列を使用してモデルの感度と特異性の両方を把握できます。感度とは、モデルが不正取引を検出する能力を指します。特異性とは、不正ではない取引を不正な取引として検出することを回避するモデルの能力を指します。

回帰問題のクイックモデル出力の例を次に示します。

回帰問題のクイックモデル出力の例。

特徴の概要

ターゲット列を指定すると、Data Wrangler は特徴を予測能力の順に並べます。予測能力は、データを 80% のトレーニングフォールドと 20% の検証フォールドに分割した後で測定されます。Data Wrangler は、各特徴のモデルをトレーニングフォールドで別々にあてはめます。最小限の特徴の前処理を適用し、検証データの予測パフォーマンスを測定します。

スコアは [0,1] の範囲に正規化されます。予測スコアが高いほど、その列がターゲットを単独で予測するのに有用であることを示します。スコアが低いほど、列がターゲット列を予測できないことを示します。

単独で予測できない列を他の列と組み合わせて使用することで予測可能になることはまれです。予測スコアを使用して、データセット内の特徴が予測可能かどうかを確信をもって判断できます。

通常、スコアが低い場合は、特徴が冗長であることを示します。スコア 1 は完璧な予測能力を示し、多くの場合はターゲット漏洩を意味します。ターゲット漏洩は通常、予測時に使用できない列がデータセットに含まれている場合に発生します。例えば、ターゲット列と重複している場合があります。

各特徴の予測値を示す表とヒストグラムの例を以下に示します。

各特徴量の予測値を示す概要テーブルの例。
各特徴量の予測値を示すヒストグラムの例。

サンプル

Data Wrangler は、サンプルが異常かどうか、またはデータセットに重複があるかどうかに関する情報を提供します。

Data Wrangler は、アイソレーションフォレストアルゴリズムを使用して異常サンプルを検出します。アイソレーションフォレストは、データセットの各サンプル (行) に異常スコアを関連付けます。異常スコアが低い場合は、サンプルに異常があることを示します。スコアが高いほど、サンプルに異常がないことを示します。通常、異常スコアが負のサンプルは異常と見なされ、異常スコアが正のサンプルは異常ではないと見なされます。

異常の可能性があるサンプルを調べる場合は、異常な値に注意することをお勧めします。例えば、データの収集と処理におけるエラーによって異常な値になる場合があります。以下は、Data Wrangler によるアイソレーションフォレストアルゴリズムの実装による最も異常なサンプルの例です。異常サンプルを調べる際には、ドメイン知識とビジネスロジックを使用することをお勧めします。

Data Wrangler は重複行を検出し、データ内の重複行の比率を計算します。データソースによっては、有効な重複データが含まれている場合があります。他のデータソースには重複があり、データ収集に問題がある可能性があります。問題のあるデータ収集によって発生した重複サンプルは、データを独立したトレーニングフォールドと検証フォールドに分割することに依存する機械学習プロセスに支障をきたす可能性があります。

サンプルが重複すると影響を受ける可能性があるインサイトレポートの要素は次のとおりです。

  • クイックモデル

  • 予測力の推定

  • ハイパーパラメータの自動調整

[行を管理][重複データの削除] トランスフォームを使用して、データセットから重複サンプルを削除できます。Data Wrangler は、重複が最も多い行を表示します。

定義

データインサイトレポートで使用される技術用語の定義は次のとおりです。

Feature types

各特徴型の定義は次のとおりです。

  • 数値 — 数値は浮動小数点数でも、年齢や収入などの整数でもかまいません。機械学習モデルは、数値が順序付けられ、その上で距離が定義されていることを前提としています。例えば、3 は 10 よりも 4 に近く、3 < 4 < 10 です。

  • カテゴリ — 列のエントリは一意の値のセットに属します。通常、この値は列のエントリ数よりもずっと小さくなります。例えば、長さ 100 の列には一意の値 DogCatMouse が含まれる場合があります。値は、数値、テキスト、または両方の組み合わせです。HorseHouse8Love3.1 はすべて有効な値で、同じカテゴリ列にあります。機械学習モデルでは、すべての値が数値であっても、数値特徴とは対照的に、カテゴリ別特徴の値の順序や距離を想定していません。

  • バイナリ — バイナリ特徴は、一意の値における集合の高基数が 2 である特殊なカテゴリ別特徴型です。

  • テキスト — テキスト列には、数値以外の一意の値が多数含まれています。極端なケースでは、列のすべての要素が一意です。極端なケースでは、2 つとして同じエントリはありません。

  • Datetime — datetime 列には日付または時刻に関する情報が含まれます。日付と時刻の両方に関する情報を含めることができます。

Feature statistics

各特徴統計の定義は次のとおりです。

  • 予測能力 — 予測能力は、その列がターゲットの予測にどの程度役立つかを測定します。

  • 外れ値 (数値列) – Data Wrangler は、中央値と堅牢な標準偏差 () の 2 つの統計を使用して外れ値を検出しますRSTD。RSTD は、特徴量の値を範囲 [5 パーセンタイル、95 パーセンタイル] にクリッピングし、クリッピングされたベクトルの標準偏差を計算することで導出されます。中央値 + 5 * より大きい値、RSTDまたは中央値 - 5 * より小さい値はすべて外れ値RSTDと見なされます。

  • スキュー (数値列) — スキューは分布の対称性を測定し、分布の 3 番目のモーメントを標準偏差の 3 乗で割った値として定義されます。正規分布やその他の対称分布の歪みはゼロです。正の値は、分布の右裾が左裾よりも長いことを意味します。負の値は、分布の左裾が右裾よりも長いことを意味します。経験則として、スキューの絶対値が 3 より大きい場合、分布は歪んでいると見なされます。

  • 尖度 (数値列) — ピアソンの尖度は、分布の裾の重さを測定します。分布の 4 番目のモーメントを 2 番目のモーメントの 2 乗で割ったものとして定義されます。正規分布の尖度は 3 です。尖度値が 3 より小さいということは、分布が平均の周りに集中していて、裾が正規分布の裾よりも軽いことを意味します。尖度値が 3 より大きい場合は、裾が重いか、外れ値が大きいことを意味します。

  • 欠損値 — NULL のようなオブジェクト、空の文字列、空白のみで構成された文字列は欠落しているとみなされます。

  • 数値特徴または回帰ターゲットの有効な値 — 有限浮動小数点数にキャストできる値はすべて有効です。欠損値は無効です。

  • カテゴリ、バイナリ、テキスト特徴、または分類ターゲットの有効な値 — 欠落していない値はすべて有効です。

  • Datetime 特徴 — datetime オブジェクトにキャストできる値はすべて有効です。欠損値は無効です。

  • 無効な値 — 欠落しているか、正しくキャストできない値。例えば、数値列では、文字列 "six" や null 値をキャストすることはできません。

Quick model metrics for regression

クイックモデルメトリクスの定義は次のとおりです。

  • R2 または決定係数 — R2 は、モデルによって予測されるターゲットの変動の割合です。R2 は [-infty, 1] の範囲内にあります。1 はターゲットを完全に予測するモデルのスコア、0 はターゲットの平均を常に予測するトリビアルモデルのスコアです。

  • MSE または平均二乗誤差 – MSEは [0, infty] の範囲内です。0 はターゲットを完全に予測するモデルのスコアです。

  • MAE または平均絶対誤差 - MAEは [0, infty] の範囲にあり、0 はターゲットを完全に予測するモデルのスコアです。

  • RMSE またはルート平均平方誤差 - RMSEは [0, infty] の範囲内で、0 はターゲットを完全に予測するモデルのスコアです。

  • 最大誤差 — データセット全体の誤差の最大絶対値。最大誤差は [0, infty] の範囲です。0 はターゲットを完全に予測するモデルのスコアです。

  • 絶対誤差の中央値 — 絶対誤差の中央値は [0, infty] の範囲です。0 は、ターゲットを完全に予測するモデルのスコアです。

Quick model metrics for classification

クイックモデルメトリクスの定義は次のとおりです。

  • 精度 — 精度は、正確に予測されたサンプルの比率です。精度は [0, 1] の範囲です。0 はすべてのサンプルを誤って予測したモデルのスコア、1 は完全なモデルのスコアです。

  • バランス精度 — バランス精度とは、データのバランスが取れるようにクラスの重みを調整したときに正確に予測されるサンプルの比率です。頻度に関係なく、すべてのクラスに同じ重要度が与えられます。バランス精度は [0, 1] の範囲です。0 はすべてのサンプルが間違っていると予測したモデルのスコアです。1 は完全なモデルのスコアです。

  • AUC (二項分類) – これはレシーバー動作特性曲線の下の領域です。AUC は [0, 1] の範囲にあり、ランダムモデルは 0.5 のスコアを返し、パーフェクトモデルは 1 のスコアを返します。

  • AUC (OVR) – 多クラス分類の場合、これは、1 対安静を使用してラベルごとに個別に計算されたレシーバー動作特性曲線の下の面積です。Data Wrangler はエリアの平均をレポートします。AUC は [0, 1] の範囲にあり、ランダムモデルは 0.5 のスコアを返し、パーフェクトモデルは 1 のスコアを返します。

  • 精度 — 精度は特定のクラスに対して定義されます。精度は、モデルがそのクラスとして分類したすべてのインスタンスのうち、真陽性の割合です。精度は [0, 1] の範囲です。1 は、そのクラスで偽陽性がなかったモデルのスコアです。二項分類では、Data Wrangler は陽性クラスの精度をレポートします。

  • リコール — リコールは特定のクラスに対して定義されます。リコールは、関連するクラスインスタンスが、正常に取得された割合です。リコールは [0, 1] の範囲です。1 はクラスのすべてのインスタンスを正しく分類したモデルのスコアです。二項分類の場合、Data Wrangler は陽性クラスのリコールをレポートします。

  • F1 — F1 は特定のクラスに対して定義されます。正確性とリコールを組み合わせた手法です。F1 は [0, 1] の範囲です。1 は完全なモデルのスコアです。二項分類では、Data Wrangler は正の値を持つクラスの F1 をレポートします。

Textual patterns

パターンは、文字列のテキスト形式を読みやすい形式で記述します。テキストパターンの例を以下に示します。

  • {digits:4-7}」は、長さが 4 から 7 までの一連の数字を表します。

  • {alnum:5}」は、長さがちょうど 5 の英数字文字列を表します。

Data Wrangler は、データから空でない文字列のサンプルを調べてパターンを推測します。よく使われるパターンの多くを記述できます。パーセンテージで表される信頼度は、どの程度のデータがパターンに一致すると推定されるかを示します。テキストパターンを使用すると、データのどの行を修正または削除する必要があるかがわかります。

Data Wrangler が認識できるパターンを次に示します。

パターン テキスト形式

{alnum}

英数字の文字列

{any}

任意の単語文字列

{digits}

一連の数字

{lower}

小文字の単語

{mixed}

大文字と小文字が混在する単語

{name}

大文字で始まる単語

{upper}

大文字の単語

{whitespace}

空白文字

単語文字は、どの言語の単語にも使用できるアンダースコアまたは文字です。例えば、「Hello_word」と「écoute」という文字列はどちらも単語文字で構成されています。「H」と「é」はどちらも単語文字の例です。