環境の設定

Objective

After completing this lesson, you will be able to python ML クライアントの 2 つの主要コンポーネントを特定します。

SAP HANA 向け Python ML クライアントとは何ですか。

Python machine learning client for SAP HANA (hana-ml) は、データサイエンティストが SAP HANA データにアクセスできるようにする Python パッケージです。実務担当者は、SAP HANA で直接、データを使用して機械学習モデルを構築することができます [2]。

SAP HANA 向け Python 機械学習クライアントは、以下の 2 つの主要コンポーネントで構成されています。

  • SAP HANA DataFrame は、データをクライアントに取り込まなくても、SAP HANA のデータにアクセスしてクエリするための一連のメソッドを提供します。
  • 機械学習モデルを開発するための機械学習 API のセットです。

機械学習 API は、以下の 2 つのパッケージで構成されています。

PAL パッケージ

PAL パッケージは、SAP HANA Predictive Analysis Library (PAL) の機械学習機能へのアクセスを提供する Python アルゴリズムおよび機能セットで構成されています。SAP HANA PAL 関数は、モデルをトレーニングするためのさまざまな機械学習アルゴリズムをカバーし、トレーニング済モデルがスコアリングに使用されます。

APL パッケージ

Automated Predictive Library (APL) パッケージでは、一連の機能を使用して、SAP HANA の自動分析エンジンのデータマイニング機能が公開されます。これらの機能により、アナリストが SAP HANA に保存されているカスタマデータセットに関する簡単な質問に回答するために使用できる予測モデリングプロセスが開発されます。

HANA-ML では、SAP HANA Python ドライバ (hdbcli) を使用して SAP HANA に接続し、SAP HANA にアクセスします。詳細については、[2] を参照してください。

SAP HANA Cloud とは

SAP HANA Cloud は、将来のアーキテクトが次世代のインテリジェントデータアプリケーションを大規模に構築およびデプロイできるようにするマルチモデルデータベース管理システムです [3]。

SAP HANA は、機械学習の包括的な環境をサポートします。サーバ側では、組み込みの機械学習ライブラリと、一般的な機械学習ツールを統合する機能が提供されます。クライアント側では、その機械学習 API を使用して、SAP HANA [4] で埋込機械学習モデルを直接開発することができます。

参照

[1] カリフォルニア住宅データセット

[2] Python ML Client for SAP HANA

[3] SAP HANA Cloud

[4] SAP HANA 機械学習の概要

環境の設定および準備

技術的な前提条件

  • ScriptServer を使用する SAP HANA Cloud のインスタンス (APL、PAL 有効)
  • Python hana-ml パッケージ 2.21.24062800、およびその他のパッケージおよび依存関係がインストールされている

Python package for SAP HANA

以下のセルでは、さまざまなモジュールがロードおよびインポートされます。ご存じのとおり、モジュールはコードライブラリと同じとみなすことができます。

Python
123456
#import hana database client for Python from hdbcli import dbapi #import hana-ml package import hana_ml print (hana_ml.__version__)

出力:

2.20.24042601

Python
123456
#importing other packages used import pandas as pd import matplotlib.pyplot as plt import time import numpy as np import os

SAP HANA Cloud データベース接続

Python machine learning client for SAP HANA (hana-ml) では、接続は常に SAP HANA DataFrame に関連します。さらに、SAP HANA Cloud の場合は、暗号化された接続が必要です。

学習者は、クラス hana_ml.dataframe.ConnectionContext をインスタンス化するために指定する必要があるため、SAP HANA システムアドレスとそのシステムにアクセスするための認証情報が必要です。これは、SAP HANA データベースインスタンスへの接続を表します [1]。

Python
1234567
from hana_ml import dataframe address = "b8xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.hana.prod-eu10.hanacloud.ondemand.com" port = 443 user = 'XX_XXXX' conn = dataframe.ConnectionContext(address, port, user, encrypt=True, sslValidateCertificate=False)

参照

[1] SAP クラス hana_ml.dataframe.ConnectionContext