「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > AI/ML とアダプティブ アナリティクス ソリューションの橋渡し

AI/ML とアダプティブ アナリティクス ソリューションの橋渡し

2024 年 11 月 3 日に公開
ブラウズ:599

今日のデータ環境では、企業はさまざまな課題に直面しています。その 1 つは、すべての消費者が利用できる、統合され調和されたデータ層上で分析を行うことです。使用されている方言やツールに関係なく、同じ質問に対して同じ回答を提供できるレイヤー。
InterSystems IRIS Data Platform は、この統合されたセマンティック レイヤーを提供できる Adaptive Analytics のアドオンによってその問題に答えます。 DevCommunity には、BI ツール経由での使用に関する記事がたくさんあります。この記事では、AI を使用してそれを活用する方法と、洞察を元に戻す方法について説明します。
一歩ずつ進んでいきましょう...

アダプティブ アナリティクスとは何ですか?

開発者コミュニティ Web サイトで定義を簡単に見つけることができます
一言で言えば、データを構造化され調和された形式で、選択したさまざまなツールに配信して、さらなる利用と分析を行うことができます。同じデータ構造をさまざまな BI ツールに提供します。しかし...同じデータ構造を AI/ML ツールに提供することもできます!

アダプティブ アナリティクスには、AI から BI への橋渡しをする AI-Link と呼ばれる追加コンポーネントがあります。

AI-Link とは何ですか?

これは、機械学習 (ML) ワークフローの主要な段階 (特徴エンジニアリングなど) を合理化する目的で、セマンティック レイヤーとのプログラムによる対話を可能にするように設計された Python コンポーネントです。

AI-Link を使用すると、次のことができます:

  • 分析データ モデルの機能にプログラムでアクセスします;
  • クエリを作成し、ディメンションとメジャーを調べます;
  • ML パイプラインをフィードします。 ...結果をセマンティック レイヤーに返し、他のユーザー (Tableau や Excel など) で再度利用できるようにします。

Pythonライブラリなので、どのPython環境でも使用できます。ノートブックを含む。
この記事では、AI-Link を利用して Jupyter Notebook から Adaptive Analytics ソリューションに到達する簡単な例を示します。

これは、例として完全なノートブックを含む git リポジトリです: https://github.com/v23ent/aa-hands-on

前提条件

これ以降の手順は、次の前提条件が完了していることを前提としています。

  1. Adaptive Analytics ソリューションが稼働中 (データ ウェアハウスとして IRIS Data Platform を使用)
  2. Jupyter Notebook が稼働中
  3. 1.と2.の間の接続が確立できます

ステップ 1: セットアップ

まず、必要なコンポーネントを環境にインストールしましょう。これにより、以降の手順を実行するために必要ないくつかのパッケージがダウンロードされます。
'atscale' - これは接続するメインのパッケージです
'prophet' - 予測を行うために必要なパッケージ

pip install atscale prophet

次に、セマンティック レイヤーのいくつかの主要な概念を表す主要なクラスをインポートする必要があります。
Client - Adaptive Analytics への接続を確立するために使用するクラス;
Project - Adaptive Analytics 内のプロジェクトを表すクラス。
DataModel - 仮想キューブを表すクラス;

from atscale.client import Client
from atscale.data_model import DataModel
from atscale.project import Project
from prophet import Prophet
import pandas as pd 

ステップ 2: 接続

これで、データ ソースへの接続を確立する準備が整いました。

client = Client(server='http://adaptive.analytics.server', username='sample')
client.connect()

Adaptive Analytics インスタンスの接続の詳細を指定してください。組織を尋ねられたら、ダイアログ ボックスに応答し、AtScale インスタンスからのパスワードを入力してください。

接続が確立されたら、サーバー上で公開されているプロジェクトのリストからプロジェクトを選択する必要があります。プロジェクトのリストが対話型プロンプトとして表示され、その答えはプロジェクトの整数 ID になります。そして、データ モデルが唯一の場合は自動的に選択されます。

project = client.select_project()   
data_model = project.select_data_model()

ステップ 3: データセットを探索する

AI-Link コンポーネント ライブラリには AtScale が用意したメソッドが多数あります。これらを使用すると、所有しているデータ カタログを探索したり、データをクエリしたり、一部のデータを取り込んだりすることもできます。 AtScale のドキュメントには、利用可能なものすべてを説明する広範な API リファレンスが含まれています。
まず、data_model:

のいくつかのメソッドを呼び出して、データセットが何であるかを見てみましょう。
data_model.get_features()
data_model.get_all_categorical_feature_names()
data_model.get_all_numeric_feature_names()

出力は次のようになります

Bridge AI/ML with your Adaptive Analytics solution

少し見て回ったら、「get_data」メソッドを使用して、関心のある実際のデータをクエリできます。クエリ結果を含むパンダ データフレームが返されます。

df = data_model.get_data(feature_list = ['Country','Region','m_AmountOfSale_sum'])
df = df.sort_values(by='m_AmountOfSale_sum')
df.head()

データドラマが表示されます:

Bridge AI/ML with your Adaptive Analytics solution

データセットを準備して、グラフにすぐに表示しましょう

import matplotlib.pyplot as plt

# We're taking sales for each date
dataframe = data_model.get_data(feature_list = ['Date','m_AmountOfSale_sum'])

# Create a line chart
plt.plot(dataframe['Date'], dataframe['m_AmountOfSale_sum'])

# Add labels and a title
plt.xlabel('Days')
plt.ylabel('Sales')
plt.title('Daily Sales Data')

# Display the chart
plt.show()

出力:

Bridge AI/ML with your Adaptive Analytics solution

ステップ 4: 予測

次のステップは、実際に AI-Link ブリッジから何らかの値を取得することです - 簡単な予測をしてみましょう!

# Load the historical data to train the model
data_train = data_model.get_data(
    feature_list = ['Date','m_AmountOfSale_sum'],
    filter_less = {'Date':'2021-01-01'}
    )
data_test = data_model.get_data(
    feature_list = ['Date','m_AmountOfSale_sum'],
    filter_greater = {'Date':'2021-01-01'}
    )

ここでは、モデルのトレーニングとテストのために、2 つの 異なる データセットを取得します。

# For the tool we've chosen to do the prediction 'Prophet', we'll need to specify 2 columns: 'ds' and 'y'
data_train['ds'] = pd.to_datetime(data_train['Date'])
data_train.rename(columns={'m_AmountOfSale_sum': 'y'}, inplace=True)
data_test['ds'] = pd.to_datetime(data_test['Date'])
data_test.rename(columns={'m_AmountOfSale_sum': 'y'}, inplace=True)

# Initialize and fit the Prophet model
model = Prophet()
model.fit(data_train)

そして、予測に対応する別のデータフレームを作成し、グラフに表示します

# Create a future dataframe for forecasting
future = pd.DataFrame()
future['ds'] = pd.date_range(start='2021-01-01', end='2021-12-31', freq='D')

# Make predictions
forecast = model.predict(future)
fig = model.plot(forecast)
fig.show()

出力:

Bridge AI/ML with your Adaptive Analytics solution

ステップ 5: ライトバック

予測を適切に設定したら、それをデータ ウェアハウスに戻し、セマンティック モデルに集計を追加して、他の消費者に反映できます。この予測は、BI アナリストやビジネス ユーザーにとって、他の BI ツールを通じて利用できます。
予測自体はデータ ウェアハウスに配置され、そこに保存されます。

from atscale.db.connections import Iris
db = Iris(
username,
host,
namespace,
driver,
schema,
port=1972,
password=None,
warehouse_id=None
)

data_model.writeback(dbconn=db,
table_name= 'SalesPrediction',
DataFrame = forecast)

data_model.create_aggregate_feature(dataset_name='SalesPrediction',
column_name='SalesForecasted',
name='sum_sales_forecasted',
aggregation_type='SUM')




フィン

それです!
あなたの予想がうまくいきますように!

リリースステートメント この記事は次の場所に転載されています: https://dev.to/intersystems/bridge-aiml-with-your-adaptive-analytics-solution-24d3?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3