Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

データセットの結合

Data Prep 添付ツールを使用すると、データセットに対してルックアップ、結合、および追加操作を実行できます。

添付ツールの操作

データセットを添付するには、プロジェクトツールバーの添付ツールにカーソルを合わせ、ルックアップ結合、または追加 ツールを選択します。

ルックアップツールの操作

ルックアップツールは、MS Excel VLOOKUPに相当するルックアップタイプの操作を提供します。逆引きもサポートされています。

ルックアップツールを選択し、データライブラリからルックアップソースデータセットを選択します。次に、ルックアップ操作の対象列を選択します。現在列はベースデータセットを参照し、各列をクリックすると、各データセットで利用可能な列が表示されます。

備考

クリックを使用して、緑の検出結合オプションを選択すると、接続メニューに2つのデータセットが共有される列が表示されます。さらに、パーセンテージスコアは、データセットを組み合わせる最適な方法に関するガイダンスを提供します。結合を検出操作のスコアの計算方法については、ルックアップスコアリングの計算を参照してください。

ルックアップの列を選択すると、結合されるデータのプレビューがグリッドに表示されます。

次に、[オプション]タブをクリックして、以下の項目を定義します。

  • ルックアップタイプ一致しない行の処理方法を定義します。
  • 一致方法:ルックアップ操作に使用するアルゴリズム。注意:ファジー一致方法は、標準タイプのルックアップでのみ使用できます。

グリッドでのルックアップのプレビュー方法を確認したら、緑色の保存ボタンをクリックしてルックアップ操作を完了します。

ルックアップスコアリングの計算

DataPrepが結合を検出オプションのルックアップスコアを計算する際に、次の2つの要素を考慮します。

  • 選択性: ルックアップ接続の各列にユニークな値が入力される範囲
  • オーバーラップ: ルックアップ接続で一致する行の割合

これらの2つの要素は、接続の品質を反映するパーセンテージスコアを生成します。パーセンテージスコアが高いほど、接続が良好になります。ただし、100%未満のスコアは、提案された結合操作に問題があることを必ずしも示しているわけではありません。実際、パーセンテージが1%未満の正当なユースケースがあります。

「正しい」か「正しくない」の絶対的な指標というよりは、このパーセンテージは、2つのデータセットに共通するデータ量に関して、ある程度の期待と一致するサニティチェックとして役に立つでしょう。

以下は、低いスコアと高いスコアを生成するデータの例です:

低スコア

ベース(Driving)データセット ルックアップ(Source)データセット 説明
a,b,c a,a,b,b,c,c ルックアップの値が重複しています。
a,b,c. . c,d,e,f ルックアップには、1つの重複値(「c」)しかありません。

高スコア

ベース(Driving)データセット ルックアップ(Source)データセット 説明
a,b,c a,b,c,d,e,f,g すべてのルックアップ値は一意です。
a,a,b,b,c,c a,b,c すべてのルックアップ値が重複しています。

結合ツールの操作

結合ツールは、次の結合タイプをサポートしています:

  • 標準結合: 両方のデータセットにまたがるすべての一致を組み合わせます(SQLの結合に相当)。
  • 範囲結合: 結合するデータセットの範囲を表す2つの列と照合されるマーカー列に基づいてデータセットを結合します。
  • 外積結合: 両方のデータセットのすべての行を組み合わせます。重要:結合するデータセットの各行がプロジェクトのベースデータセットの各行に対して追加されるため、外積結合によってプロジェクトに追加される行数は大幅に増加します。

備考

結合ツールをUIで使用するには、システム管理者によって有効にする必要があることに注意してください。

標準結合

結合ツールを選択した後、標準タイプを選択し、結合操作を行う列を選択します。現在列は、基本データセットを参照します。各列をクリックすると、各データセットで利用可能な列が表示されます。最初に、結合を作成する列を選択します。

結合する列を選択すると、結合されるデータのプレビューがグリッドに表示されます。

次に、[オプション]タブをクリックして、以下の項目を定義します。

  • ルックアップタイプ一致しない行の処理方法を定義します。
  • 一致方法: 結合操作に使用するアルゴリズム。

グリッドでのルックアップのプレビュー方法を確認したら、緑色の保存ボタンをクリックしてルックアップ操作を完了します

範囲結合

範囲結合機能を使用すると、隣接するデータセット内の2つの個別「範囲」列と照合されるベースデータセット内の「マーカー」列に基づいてデータベースを結合できます。

備考

範囲結合機能を使用できるのは、列タイプが数値および日付の場合のみです。これらの列のデータを有効に変換できる場合、列メニューの変更操作を使用して、列をこれらのタイプに変換できます。

備考

範囲結合機能を結合オプションとしてUIに表示するには、システム管理者が範囲結合機能を有効にする必要があります。

結合ツールを選択した後、範囲オプションを選択し、結合操作を行う列を選択します。現在の列は、ベースデータセットのマーカー列を参照します。これは、隣接するデータセットの値の下限と上限に対する照合に使用されます。

範囲結合機能を利用するには2つの方法があります。

  • キーレス: キーレス範囲結合は、マーカー値の特定の範囲内にあるエントリをグループ化します。
  • キー付き: オプションのキーは、結合条件の特異度を慎重に高めるために、ベースデータセットおよび隣接するデータセットから選択できる追加の列です。

結合する列を選択すると、結合されるデータのプレビューがグリッドに表示されます。

このベースデータセットは、個々のローンに関する典型的な情報を含むレンディングクラブのデータセットです。そのベースデータセットに、グレードと日付に基づいてローンの平均化されたリスク要因を含むloan_riskfactors.csv データセットを結合します。このプロジェクトの目標は、リスク要因データセットによって提供される業界平均を使用して、貸出クラブのベースデータセットの各ローンのリスク係数を決定することです。

ここでは、列"loan_date" をレンディングクラブのベースデータセットのマーカー列として loan_riskfactors.csvデータベースの "StartDate" 列と "EndDate" 列と照合します。グリッドに結合のプレビューが表示されます。

ヒント

結合後のデータセットに含まれる行が多すぎる場合は、オプションのキーを使用して、結合基準の真陰性率を高め、結果として得られる行の数を減らすキー付き結合を作成できます。

次に、[オプション]タブをクリックして、以下の項目を定義します。

  • ルックアップタイプ一致しない行の処理方法を定義します。
  • 一致方法: 結合操作に使用するアルゴリズム。

グリッドでのルックアップのプレビュー方法を確認したら、緑色の保存ボタンをクリックしてルックアップ操作を完了します。

外積結合

結合ツールを選択した後、外積タイプを選択し、結合操作の対象列を選択します。現在列はベースデータセットを参照し、各列をクリックすると、各データセットで利用可能な列が表示されます。最初に、結合を作成する列を選択します。

結合する列を選択すると、結合されるデータのプレビューがグリッドに表示されます。

備考

他の結合タイプとは異なり、すべての行がこの操作で一致するので、外積結合のルックアップや一致するオプションはありません。

グリッドでのルックアップのプレビュー方法を確認したら、緑色の保存ボタンをクリックしてルックアップ操作を完了します。

備考

結合するデータセットの各行がプロジェクトのベースデータセットの各行に対して追加されるため、外積結合によってプロジェクトに追加される行数は大幅に増加します。行数がプロジェクトの行制限を超えると結合操作は失敗し、エラーメッセージが表示されます。この場合、データセットを組み合わせる前にデータセットの行数を減らすか、プロジェクトの行制限についてシステム管理者に相談してください。

ルックアップと結合のルックアップタイプオプション

ルックアップタイプオプションでは、一致しない行をどうするかを指定します。4つのオプション( 左ルックアップ、内部ルックアップ、右ルックアップ、および外部ルックアップ)があります。

備考

ルックアップタイプオプションのアイコンにカーソルを合わせると、関連付けられるタイプが表示されます。

さまざまなルックアップタイプを理解する最も簡単な方法の1つは、ベン図を使用することです。

左ルックアップ

左ルックアップは、一致する値が指定列にあるすべての行を含む結合済みデータセット、および対応する一致する値が右(ルックアップ)データセットになかった左(ベース)データセットのすべての行を返します。

内部ルックアップ

内部ルックアップは、指定された列内に一致する値を含む、こうした行のみを含む結合されたデータセットを返します:

右ルックアップ

右ルックアップは、一致する値が指定列にあるすべての行を含む結合済みデータセットを返すという点では左ルックアップに似ていますが、左(ルックアップ)データセットの不一致値を含む行を返すのではなく、右(ベース)データセットのすべての不一致行を返します。

外部ルックアップ

外部ルックアップは、指定列に一致する値を含むすべての行を含む結合済みデータセット、および一致する値がない両方のデータセットのすべての行を返します:

ルックアップと結合の一致方法

Intellifusion一致方法アルゴリズムを選択して、完全またはファジーの関係がある列のテキスト値を照合する方法をカスタマイズします。各オプションについて以下に説明します。

完全のオプション

完全のオプションには、自動一致完全一致、およびカスタム一致の3つの選択があります。

自動一致

自動一致(デフォルトオプション):一致するテキスト値の場合、大文字と小文字、語順、単語の前後の句読点が無視されます。一般的に、スペース文字と句読点は単語の境界を定義しますが、重要な例外があります。この照合方法では、単語の前後の句読点が無視されるため、.ave.AVEに一致します。ただし、自動一致では、単語内に句読点がある特殊な種類の単語が検出されます。単語内の句読点は単語の境界を定義しないため、句読点は両方のデータセットで正確に一致する必要があります。自動一致は、内部の句が適用される次の語が検出されます:

  • ピリオド付きの数値: 通貨および 12.34 などの浮動小数点付きの数。通貨記号と数字の前後の句読点は無視されます。比較は数値ではなくテキスト比較であるため、「3.0」と「3」は一致しません。ヒント: 問題を減らすには、インポート中に「セルのテキストを数値に解析」オプションを使用するか、列のドロップダウンメニューを使用して列を数値に変換します。
  • Eメールアドレス: Eメールアドレスは内部のピリオドを含む1つの単語です。
  • ピリオド付きの頭字語:「U.S.A.」など内側に句読点を含む頭字語は1つの単語として数えます。ただし、単語を比較するときに単語内の句読点が無視されないため、「U.S.A.」は「USA」と一致しません。

自動一致の例

次の表は、自動一致の動作を示します。最初の 2 列は値の例を示しています。3番目の列は、これらの値が自動一致と一致するかどうかを示します。完全一致と自動一致の結果が異なる例では、答えが太字で表示されています。

完全一致

完全一致オプションを使用する場合は、2つの値のすべての文字が完全に一致する必要があります。

カスタムマッチ

カスタムマッチオプションを使用して、正確な調整を行います。このオプションで語順、大文字と小文字の区別、ホワイトスペース、および特定の句読点の処理方法を選択できます。語順および大文字と小文字の区別は、ユーザーの選択に応じて無視または保持されます。一般的に、これらのオプションは名前を含むデータに使用されます。語順と大文字と小文字を区別に対する [無視] と [保持] は自由に組み合わせることができます。[無視]ボタンと[保持]ボタンをクリックすると、その選択に基づいて語順と大文字と小文字の区別の処理例が表示されます。

ホワイトスペースについては、無視、保持、または分割することができます。[分割]ボタンを使用すると、データがホワイトスペースで個別の語句に分割されます。ホワイトスペースには、スペースバー、タブキー、およびキャリッジリターンの文字が含まれます。一般的に、ホワイトスペースオプションは住所情報を含むデータの一致を増やすために使用されます。無視保持、および分割ボタンをクリックすると、その選択に基づいてホワイトスペースの処理例が表示されます。

句読点オプションを使用すると、特定の句読点を無視、保持、または分割できます。デフォルトの句読点の値は、カンマとハイフンです。白い[その他]ボタンをクリックすると、デフォルト値に追加できます。句読点を追加するための新しいフィールドが表示されます。デフォルトの句読点または追加した句読点を削除するには、句読点フィールドにカーソルを合わせて、そのフィールドの上部に表示されるオレンジ色の [X] をクリックします。句読点フィールドをすべて削除すると、デフォルトですべての句読点が保持されます。

語順、大文字と小文字、ホワイトスペース、および句読点の設定は、現在のルックアップデータ準備ステップにのみ適用されます。これらの設定は、他のルックアップ手順には適用されません。

ファジーオプション

ファジーオプションは、標準ルックアップでのみ使用可能です。UI のオプションとして表示するには、システム管理者が有効にする必要があります。

ファジーオプションでは、編集距離アルゴリズムを使用して、選択した2つの結合キー間の一致の可能性が予測されます。

ファジーオプションの例

この例では、会社名を含むベースデータセットがあり、そのデータに各会社の住所を追加するとします。

住所情報を含む第2のデータセットがありますが、会社名がベースデータセットにあまり一致していません。

この場合、ファジーオプションを使用すると、いずれかのデータセットで「会社名」列のクリーンアップを事前に行わなくても、会社名で結合を容易に作成できます。

ベースデータセットには会社名が含まれています。

アドレスを含む追加データセットには、次のようにリストされた会社名があります。

ファジーオプションは次のように調整します。

最適なしきい値の一致を見つけて、保存をクリックして、データを結合します。

[接続] パネルに列名を追加すると、ファジーオプションの複数の結合キーを同時に作成できることに注意してください。

ただし、両方のデータセットに正確に同じ数の列が含まれている必要があります。そうしないと、エラーが発生して続行できません。

データ結合の後に実行できる追加のオプション:

  • ツールを使用して、類似性スコア列と会社名列の 1つを削除します。
  • 残りの「会社名」列でFiltergramを使用して、名前の形式がすべて正しいことを確認します。会社名を編集する必要がある場合、検索と置換オプションを使用して会社名を正しく更新します。

ルックアップと結合の例

例: 逆ルックアップ

逆引き操作は、現在のデータセットと追加データセットの間で1対多の関係を確立する場合に便利です。この逆引き操作では、現在のベースデータセットがルックアップテーブルとして使用されます。したがって、選択したルックアップデータセットに追加されるのはベースデータセットの最初の一致だけです。

この例では、2つのデータセットがあります。

  • 一意のOrder IDを持つOrdersデータセット

  • Order IDに関連付けられたすべてのOrderの詳細を含むOrder Detailsデータセット

Ordersデータセットをベースデータセットとして使用して新しいプロジェクトを作成し、両方のデータベースの"Order ID"列に基づいてOrder Detailsのデータを追加します。この場合、逆引きオプションを選択し、データベースを照合する列として "Order_ID" を選択します。

備考

"Order_ID" を含む不一致(空白)行を保持するには、外部ルックアップまたは左ルックアップのタイプを選択します。内部ルックアップタイプを選択して、これらの行を破棄することもできます。一致しない行の処理方法を定義するルックアップタイプを参照してください。

重要

逆引きは、ベースデータセットに追加される行の数と、恐らくソート順序に影響します。

例: 結合データセット

この選択により、両方のデータセットにわたるすべての一致が結合されます。結合操作は、2つのデータセット間で多対多の関係性を確立する場合に便利です。注意:この選択は、プロジェクトに追加される行の数に影響します。

この例では、2つのデータセットがあります。

  • 購入トランザクションIDのセットを含むTransactions。各行は購入された書籍を示します。同じ書籍が複数回販売された可能性があるため、同じ書籍で複数のトランザクションIDが存在する場合があることに注意してください。

  • 書籍とその著者のセットを含むBooks。各書籍には複数の著者がいる場合があるので、1冊の本が複数の行にリストされる場合があります(共著者ごとに1回)。

この例の目的は、著者ごとの購入トランザクション数を決定することです。また、多くの書籍には複数の著者がいるので、この2つのデータベースを結合する場合に選択すべきオプションは、著者の1つの一意の値ではなく、"結合"です。

Transactionsデータセットで新しいプロジェクトを作成します。次に、Books データセットで標準の結合操作を行い、データベースを結合する列として "Book" を選択します。

備考

結合を実行すると、結果のデータセットの行数が大幅に増える可能性があります。行数がプロジェクトの行制限を超えると結合操作は失敗し、エラーメッセージが表示されます。この場合、データセットを結合する前にデータセットの行数を減らすか、プロジェクトの行制限についてシステム管理者に相談してください。

例: すべての組み合わせを返す外積結合

これを選択すると、操作で両方のデータセットのすべての行が結合されます。

この例では、3つのデータセットがあります。

  • すべての顧客IDを含むCustomer Master

  • すべての製品および関連付けられたIDを含むProducts Master

  • 顧客IDおよびそのIDに関連付けられた購入製品と数量を含むCustomer Orders

この例の目的は、すべての顧客とすべての製品を含むマスタープロジェクトを作成し、各顧客が購入していない製品をすべて特定することです。

Customer Masterをベースデータセットとして新しいプロジェクトを作成します。次に、外積結合操作をProducts Masterデータセットに対して行います。外積操作の対象列として "Customer_ID" および "Product_ID" を選択します。

これで、すべての顧客とすべての製品を含むマスターデータセットが作成されました。

次に、標準のルックアップ操作を Customer Orders データセット実行します。"Customer_ID" と "Product_ID" をルックアップの対象列として選択し、すべての不一致行を保持します。一致しない行の処理方法を定義するルックアップタイプを参照してください。

結果のデータセットを使用して、各顧客がまだ購入していない製品をすべて簡単に特定できます。

このプロジェクトの Customer Orders データセットを更新するたびにグリッド上のデータが自動的に更新され、新しい購入が反映されます。時間の経過に伴うすべての購入情報を取得するために、プロジェクトレンズを作成して各結果の AnswerSet を公開できます。

備考

ルックアップソースの各行がプロジェクトのベースデータセットの各行に追加されるため、外積操作によってプロジェクトに追加される行数は大幅に増加します。行数がプロジェクトの行制限を超えると結合操作は失敗し、エラーメッセージが表示されます。この場合、データセットを組み合わせる前にデータセットの行数を減らすか、プロジェクトの行制限についてシステム管理者に相談してください。

追加ツールの操作

追加ツールを使用して、ベースデータセットの最後に追加する行を含む追加のデータセットを選択できます。2つのデータセット間の列の一致をカスタマイズできます。追加されたデータセットのすべての列が現在のデータセットの列と一致する場合、元のデータセットの一連の列は結果データセットで変更されません。追加されたデータセットの列を一致させないままにすると、それらの列は結果データセットの新しい列になります。


更新しました February 22, 2022
Back to top