Data Refinery を使用したデータの整形

データを洗練させるためには、ある場所からデータを取り出し、クレンジングして形を整え、その結果を別の場所に書き込む。 Data Refinery というグラフィカル・フロー・エディター・ツールを使用して、表データのクレンジングとシェーピングを行うことができます。

データのクレンジングの場合は、正しくないデータ、不完全データ、不適切にフォーマットされたデータ、または重複したデータを修正または削除します。 データのシェーピングの場合は、列のフィルタリング、ソート、結合、または削除によってカスタマイズします。

Data Refinery フローは、データに対する順序付き操作のセットとして作成します。 Data Refinery には、データを検証するためにデータのプロファイルを作成するグラフィカル・インターフェースと、データに関する洞察を提供する 20 を超えるカスタマイズ可能なグラフが含まれています。

クラウド・プラットフォーム
必要なサービス
watsonx.ai スタジオまたは IBM watsonx.data intelligence
データ・フォーマット
Avro、CSV、JSON、Microsoft Excel (xls および xlsx 形式)。 最初のシートのみ (接続および接続されたデータ資産を除く)。 Parquet、「sas7bdat」拡張子 (読み取り専用)、TSV (読み取り専用)、または区切り文字で区切られているテキスト・データ資産を持つ SAS
リレーショナル・データ・ソースの表
データ・サイズ
任意。 Data Refinery は、データ・セット内の行のサンプル・サブセットに対して動作します。 サンプル・サイズは、1 MB または 10,000 行のうち先に到達した方です。 ただし、Data Refinery フローのジョブを実行すると、データ・セット全体が処理されます。 Data Refinery フローが大規模なデータ資産で失敗する場合は、 Data Refineryの回避策を参照してください。

データとユース・ケースに適したツールの選択について詳しくは、 ツールの選択を参照してください。

前提条件

データを精製する前に、Cloud Object Storage を使用するプロジェクトを作成することが必要です。


このビデオを視聴して、プロジェクトを作成する方法を確認してください。

このビデオは、本書の概念とタスクを学習するためのビジュアル・メソッドを提供します。



クラウドやオンプレミスのデータソースにデータがある場合は、それらのソースへの接続を追加するか、それぞれの接続からデータ資産を追加する必要がある。 精製したデータをクラウドまたはオンプレミスのデータ・ソースに保存できるようにするには、そのための接続も作成します。 Data Refineryでは、ソース接続はデータの読み取りのみに使用でき、ターゲット接続はデータの書き込みのみに使用できる。 ターゲット接続を作成するときは、必ず書き込み権限を持つ資格情報を使用してください。そうしないと、Data Refinery フロー出力をターゲットに保存できません。


このビデオを視聴して、接続を作成し、接続されたデータをプロジェクトに追加する方法を確認してください。
ビデオの特記事項: このビデオのいくつかの小さなステップとグラフィック要素は、ご使用のプラットフォームとは異なる場合があります。

このビデオは、本書の概念とタスクを学習するためのビジュアル・メソッドを提供します。


ソース・ファイルの制限事項

CSV ファイル

CSV ファイルが正しくフォーマット設定されており、以下のルールに準拠していることを確認してください。

  • 1 つの行に 2 つの連続したコンマがある場合、その列は空であることを示します。
  • 行がコンマで終わっている場合、追加の列が作成されます。
注:

CVSファイルに悪意のあるペイロード(例えば数式)が入力フィールドに含まれている場合、これらの項目が実行される可能性があります。

空白文字はデータの一部と見なされます。

データに空白 (ブランク) 文字を含む列が含まれている場合、Data Refinery は、それらの空白文字がグリッドに表示されなくても、それらをデータの一部と見なします。 一部のデータベース・ツールは、文字ストリングに空白文字を埋め込んで、列内のすべてのデータを同じ長さにすることができます。この変更は、データを比較する Data Refinery 操作の結果に影響します。

列名

列名が以下のルールに準拠していることを確認してください。

  • 重複する列名は許可されません。 列名はデータ・セット内で一意である必要があります。 列名では大/小文字の区別がありません。 列名「Sales」があり、さらに別の列に列名「sales」が含まれているとそのデータ・セットは機能しません。
  • 列名は、R プログラミング言語の予約語ではありません。
  • 列名は数値ではない。 回避策は、列名を二重引用符 ("") で囲むことです。

「Other」データ・タイプの列を持つデータ・セットは、Data Refinery フローではサポートされません。

データセットに、watsonx.aiStudio のプレビューで「その他」と識別されるデータ型を持つ列が含まれている場合、その列はData Refinery では String データ型として表示されます。 ただし、Data Refinery フローでデータを使用しようとすると、Data Refinery フローのジョブは失敗します。 プレビューで「Other」として表示されるデータ・タイプの例として、 Db2 DECFLOAT データ・タイプがあります。

ターゲット・ファイルの制限事項

Data Refinery フロー出力 (ターゲット・データ・セット) をファイルに保存する場合、以下の制限が適用されます。

  • ファイルが既存のデータ資産である場合は、ファイル形式を変更できません。

データ保護ルール

Data Refinery は、行フィルターのデータ保護ルールをサポートしません。 資産が行フィルタリング・データ保護ルールによって管理されている場合、 Data Refinery ジョブが失敗することがあります。 また、 IBM watsonx.data intelligence の資産、行フィルタリングのデータ保護ルールが適用されるプロジェクトに追加した場合、 Data Refinery ではマスキングが適用されません。 詳しくは、 データ保護ルールの適用を参照してください。

データ・セットのプレビュー

Data Refinery は、精製に時間がかかり、処理が困難な場合がある大規模なデータ・セットに対するサポートを提供します。 迅速かつ効率的な作業を可能にするために、Data Refinery は、ユーザーがデータを対話式に精製している間、データ・セット内の行のサブセットに対して動作します。 Data Refinery フローのジョブを実行した場合、データ・セット全体がその操作の対象になります。

データの精製

次のビデオでは、データを精製する方法を説明します。

ビデオの特記事項: このビデオのいくつかの小さなステップとグラフィック要素は、ご使用のプラットフォームとは異なる場合があります。

このビデオは、本書の概念とタスクを学習するためのビジュアル・メソッドを提供します。

  • 動画のトランスクリプト
    時刻 トランスクリプト
    00:00 このビデオでは、Data Refinery を使用して生データをシェーピングする方法を説明します。
    00:05 プロジェクトからデータの詳細化を開始するには、データ資産を閲覧して 「Data Refinery」 で開きます。
    00:14 データフローとデータフロー出力の名前は、データの調整が完了した時点で情報ペインに表示されます。
    00:24 「データ」タブでは、データセットの行と列のサンプルセットが表示されます。
    00:29 パフォーマンスを向上させるために、シェーパー内のすべての行が表示されるわけではありません。
    00:33 ただし、データの精製が完了した時点で、データフローは完全なデータセットに対して実行されることをご安心ください。
    00:41 「プロファイル」タブには、各列の頻度統計と要約統計が表示されます。
    00:48 「視覚化」タブには、関心のある列のデータ視覚化が表示されます。
    00:57 推奨されるグラフは、アイコンの横に青い点が表示されます。
    01:03 グラフ内で使用可能なさまざまなパースペクティブを使用して、データ内のパターン、接続、および関係を識別します。
    01:12 では、いくつかのデータ・ラングリングを行いましょう。
    01:15 まず、指定された列(この場合は「年」列)での並べ替えのような単純な操作から始めます。
    01:24 例えば、特定の航空会社の遅延だけに焦点を当てたい場合、データにフィルターをかけて、航空会社がユナイテッド航空のみである行だけを表示させることができます。
    01:42 合計遅延を確認すると役に立ちます。
    01:45 到着遅延と出発遅延を結合する新しい列を作成してこれを行います。
    01:50 列タイプは整数であると推測されることに注意してください。
    01:54 出発遅延の列を選択し、「計算」操作を使用します。
    02:03 この場合、選択した列に「到着遅延」列を追加し、新しい列を作成します "TotalDelay"。
    02:13 新しい列は、列のリストの最後に配置することも、元の列の横に配置することもできます。
    02:21 操作を適用すると、出発遅延列の横に新しい列が表示されます。
    02:28 もしミスをした場合、または単に変更を加えたい場合は、「ステップ」パネルにアクセスし、そのステップを削除してください。
    02:36 これにより、その特定の操作が元に戻されます。
    02:40 「やり直し」ボタンと「元に戻す」ボタンを使用することもできます。
    02:44 次に、その "TotalDelay" 列に焦点を当てたいので、「選択」操作を使用して列を先頭に移動できます。
    03:02 このコマンドは、総遅延列をリストの最初に配置し、それ以外の項目はすべてその後に続きます。
    03:12 最後に、"TotalDelay"列の平均を求めたい。
    03:16 「整理」セクションの操作メニューを展開すると、「集計」操作が表示され、その中に「平均」関数が含まれています。
    03:33 これで、総遅延の平均を表す新しい列が "AverageDelay" 追加されました。
    03:40 データフローを実行するには、保存してジョブを作成します。
    03:47 ジョブ名を入力し、次の画面に進んでください。
    03:52 「設定」ステップではジョブ実行時の入力と出力を確認し、 ジョブを実行する環境を選択できます。
    04:03 ジョブブのスケジュール設定は任意ですが、必要に応じて日付を設定し、 ジョブを繰り返し実行できます。
    04:13 また、このジョブの通知を受け取ることを選択できます。
    04:19 すべて問題ないように見えるため、ジョブを作成して実行します。
    04:22 これは数分かかる可能性があります。なぜなら、データフローは完全なデータセットに対して実行されるからです。
    04:28 それまでは、状況を表示できます。
    04:34 実行が完了したら、プロジェクトの「 資産 」タブに戻り、フロー Data Refinery を開いてデータをさらに精緻化できます。
    04:50 例えば、"AverageDelay"カラムを降順にソートすることができる。
    04:59 次に、フロー設定を編集します。
    05:02 「一般」パネルで、 Data Refinery フロー名を変更できます。
    05:08 「ソースデータセット」パネルでは、ソースデータセットのサンプルやフォーマットを編集したり、データソースを置き換えたりできます。
    05:18 「ターゲット・データ・セット」パネルでは、外部データ・ソースなどの代替ロケーションを指定できます。
    05:28 ターゲットのプロパティ(書き込みモードやファイル形式など)を編集したり、 資産セットアセット名を変更したりすることもできます。
    05:43 では、データフローを再度実行してください。ただし今回は、ジョブを保存して表示してください。
    05:51 表示するジョブをリストから選択し、ジョブを実行します。
    06:03 実行が完了したら、プロジェクトに戻ります。
    06:08 「 資産 」タブでは、3つのファイルすべてが表示されます:元のファイル、最初の精製済みデータセット(未ソート "AverageDelay" 状態)、そして2番目のデータセット(列 "AverageDelay" が降順でソートされた状態)です。
    06:34 「資産 (Assets)」タブには、 Data Refinery フローがあります。
    06:42 ドキュメントでさらに多くの動画を見つけてください。

1.プロジェクト内からData Refineryにアクセス。 「新規資産」>「データの準備と視覚化」をクリックします。 次に、処理するデータを選択します。 または、プロジェクトのAssetsタブでデータアセットをクリックしてプレビューし、Prepare dataをクリックします。

2. ステップを使用して、データをクレンジング、シェーピング、およびエンリッチする操作を適用します。 『操作カテゴリーまたは特定の操作の検索』を参照して、UI ガイドを表示します。 コマンド行でR コードの入力を実行して、正しい構文の取得をオートコンプリートに支援することができます。 データ・セットに操作を適用すると、Data Refinery は、それらの操作を追跡し、Data Refinery フローを作成します。 適用する操作ごとに、Data Refinery によってステップが追加されます。

データタブ
「データ」タブ

データにストリング以外のデータ・タイプが含まれている場合、Data Refinery でファイルを開くと、 列タイプの変換 GUI 操作が Data Refinery フローの最初のステップとして自動的に適用されます。 データ・タイプは、推論されるデータ・タイプ (整数、日付、ブールなど) に自動的に変換されます。 このステップは、元に戻すことも編集することもできます。

3. プロファイル] タブをクリックし、データの絞り込みプロセスを通じてデータを検証します。

プロフィールタブ
「プロファイル」タブ

4. 「視覚化」 タブをクリックして、グラフで データを視覚化 します。 データ内のパターン、トレンド、および相関を明らかにします。

可視化タブ
「視覚化」タブ

5. ニーズに合わせてサンプル・データ・セットを調整します。

6. 「保存してジョブを作成」 をクリックするか、ツールバーの 「ジョブを保存して表示」 をクリックして、データ・セット全体に対して Data Refinery フローを実行します。 ランタイムを選択して、1 回限りのスケジュールか繰り返しのスケジュールを追加します。 ジョブについて詳しくは、 Data Refineryを参照してください。

ジョブを実行するには、 ユーザーAPIキーが必要です。 通常、最初のジョブ作るときに自動的に作成される。 また、 プロフィールと設定から APIキーを手動で作成することもできます。

ユーザーが Data Refinery フローのジョブを実行すると、データ・セット全体が処理されます。 したがって、ジョブは、変換とフローで処理されるデータ量に基づいて、大きな出力(ターゲット)データセットを作成する可能性がある。 デフォルトでは、Data Refineryフローの結果は、プロジェクトのデータアセットとして保存されます。

データを精製する際に実行できるアクションについては、 Data Refinery フローの管理を参照してください。

次のステップ

データの分析とモデルの作成

もっと見る