この練習では、Anacondaをローカルマシンにインストールし、Jupyter Notebooksをローカルマシンに実行して、クエリサービスを通じてAdobe Experience Platformのデータとやり取りできるようにします。
Adobe Experience Platform・データ・サイエンス・ワークスペースを使って、ジュピター・ノートをAdobe Experience Platformの上でネイティブに使えるようにしています。 これにより、データ科学者はプラットフォームのデータをネイティブに読み書きできるようになりました。
しかし、多くのデータ科学者は、データ調査やモデル作成のために地元のマシンで作業を続けたいと考えています。 これはAdobe Experience PlatformがAdobe Experience Platformクエリサービスを通じても支えるパターンです。 これにより、データサイエンティストは、プラットフォームから直接、選択したローカル環境にデータを読み込むことができます。
この練習では、Anaconda Navigatorを使用します。これはここからダウンロードしてインストールできます。
MacBookを使用している場合は、brewがインストールされていることを確認してください。 brewのインストール手順は、次を参照してください。https://brew.sh/
また、brewをインストールした後、ターミナルウィンドウでbrew install postgresコマンドを実行して、postgresパッケージをインストールする必要があります。
必要なパッケージがコンピューターにインストールされていることを確認する別の方法を次に示します。
ターミナルウィンドウで次のコマンドを実行します。(最初に、次のコマンドを試してください)。
ターミナルウィンドウで次のコマンドを実行します。
ターミナルウィンドウで次の2つのコマンドを実行します。
Anacondaをインストールした後、Anacondaを開くと、次のページが表示されます。
JupterLabのLaunchボタンをクリックします。
その後、ブラウザが開き、JupyterLab開始ページが表示されます。
下のボタンをクリックして、新しいPython 3ノートブックを開きます。
その後、空の新しいノートを手に入れます。
空の空の新しいPython 3ノートブックが作成されます。 続行する前に、ノートブックにわかりやすい名前を付けてください。 無題.ipynbファイルを右クリックし、名前の変更をクリックします。
ノートブックの名前にmutual365-insurance-anaconda.ipynbと入力し、Enterを押します。 その後、次の手順を実行します。
このセルは、PostgreSQLをサポートするために必要な2つの外部ライブラリをダウンロードしてインストールします。 このセルを初めて実行すると、2 ~ 3分かかる場合があります。
参考:psycopg2の読み込みでエラーが発生した場合は、ターミナルウィンドウを開き、brew install postgresコマンドを実行して、postgresをコンピュータにインストールする必要があります(MacBookに既に'brew'がインストールされていると想定します)。
ノートブック内の最初の空のセルをクリックします。
下のコードをコピーして、ノートブックの最初のセルに貼り付けます。
!pip install --user psycopg2-binary
!pip install --user sql_magic
import sys
import pprint
import psycopg2
次に、セル1に次の文字を入力します。
再生アイコンをクリックして、このセルを実行します。 このセルでエラーが発生した場合は、前提条件のセクションで前述したようにpostgresをインストールする別の方法を確認してください。
次に進む前に、インジケーターが次のように表示されるまで待ちます。
結果は次のようになります。
この手順では、クエリサービスに接続する必要があります。
下にスクロールし、次の空のセルをクリックします。
下のコードをコピーして、ノートブックの最初のセルに貼り付けます。
# Copy these settings from https://platform.adobe.com/query/configuration
connection = psycopg2.connect(
sslmode='require',
host='',
port='80',
dbname='prod:all',
user='',
password='')
接続するには、上記のコードの以下のフィールドを、Adobe Experience Platformの情報に基づいて更新する必要があります。
これらの設定をクエリサービスから取得するには、Adobe Experience Platformに移動し、クエリ > 資格情報 > ポストグレス資格情報に移動します。
上記のコードをコピーして、表示されているとおりにフィールドを更新した後は、次のような内容にする必要があります。
再生アイコンをクリックして、このセルを実行します。 この処理には、2、3秒かかる場合があります。
次に進む前に、インジケーターが次のように表示されるまで待ちます。
この手順では、ノートブックでSQLを有効にします。
下にスクロールし、次の空のセルをクリックします。
下のコードをコピーして、ノートブックの最初のセルに貼り付けます。
# Enable sql magic
%load_ext sql_magic
%config SQL.conn_name = 'connection'
これで、次のようになります。
再生アイコンをクリックして、このセルを実行します。 この処理には、2、3秒かかる場合があります。
次に進む前に、インジケーターが次のように表示されるまで待ちます。
この手順では、開始がAdobe Experience Platformのデータセットを操作する際に、ローカルのAnaconda環境とJupter Notebookから操作します。
下にスクロールし、次の空のセルをクリックします。
下のコードをコピーして、ノートブックの最初のセルに貼り付けます。
%%read_sql
show tables
これで、次のようになります。
再生アイコンをクリックして、このセルを実行します。 この処理には、2、3秒かかる場合があります。
次に進む前に、インジケーターが次のように表示されるまで待ちます。
その後、Adobe Experience Platformで使用可能なすべてのデータセットが、ローカルのアナコンダ環境とジュピター・ノートブックに返されます。
次のセルに移動します。 このセルでは、Adobe Experience PlatformのDemo System - Website(Global v1.1)イベントセット(Webサイト)のデータセットから特定のフィールドをデータフレームに読み込みます。
下にスクロールし、次の空のセルをクリックします。
下のコードをコピーして、ノートブックの最初のセルに貼り付けます。
%%read_sql df_result
SELECT --aepTenantId--.identification.core.ecid as ecid,
--aepTenantId--.interactionDetails.insurance.car.numberKm as km,
--aepTenantId--.interactionDetails.insurance.car.type as cartype,
--aepTenantId--.interactionDetails.insurance.car.customerAge as age,
--aepTenantId--.interactionDetails.insurance.car.customerGender as gender,
--aepTenantId--.interactionDetails.insurance.car.brand as carbrand,
--aepTenantId--.interactionDetails.insurance.car.leasing as leasing,
--aepTenantId--.interactionDetails.insurance.car.customerCity as city,
--aepTenantId--.interactionDetails.insurance.car.customerCountry as country,
--aepTenantId--.interactionDetails.insurance.car.customerNationality as nationality,
--aepTenantId--.interactionDetails.insurance.car.isCustomerPrimaryDriver as primaryuser,
--aepTenantId--.interactionDetails.insurance.car.hasCustomerPurchased as purchase,
--aepTenantId--.interactionDetails.insurance.car.priceBasic as pricequote,
timestamp
FROM demo_system_event_dataset_for_website_global_v1_1
WHERE --aepTenantId--.interactionDetails.insurance.car.type <> ''
これで、次のようになります。
再生アイコンをクリックして、このセルを実行します。 この処理には数分かかる場合があります。
次に進む前に、インジケーターが次のように表示されるまで待ちます。
次のような結果になります。
Demo System - Webサイトイベントデータセット(グローバルv1.1)データセットは、データフレームに割り当てられ、データサイエンティストは、Anacondaとクエリサービスを使用して、このデータフレームに基づく調査、視覚化、モデル開発を続行できます。
次の手順:15.3レシピを使用してモデルを操作します