mcpField
S
sap-hana-ml

sap-hana-ml

github.com/secondskyデータ・データベース480657 回インストール3 週間前に更新
リポジトリ

sap-hana-ml について

`hana-ml` Python クライアントで SAP HANA の機械学習ワークフローを構築する開発者向けのスキルです。インデータベースアルゴリズム、DataFrame、AutoML、可視化に加え、接続トラブルの確認とモデル保存の参考情報を提供します。

主な機能

  1. 01PAL のインデータベース機械学習アルゴリズム
  2. 02APL AutoML と特徴量エンジニアリング
  3. 03遅延評価の HANA DataFrame
  4. 04モデル可視化と SHAP による説明
  5. 05モデル保存とパイプライン構築

活用シーン

  1. 01HANA 内でのモデル学習とスコアリング
  2. 02AutoML による分類や回帰
  3. 03HANA DataFrame のクエリと処理
  4. 04結果の可視化と予測の説明

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/secondsky/sap-skills --skill sap-hana-ml

インストール後、Claude Code で/sap-hana-mlを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
agents/
openai.yaml
references/
APL_ALGORITHMS.md
DATAFRAME_REFERENCE.md
PAL_ALGORITHMS.md
SUPPORTING_MODULES.md
VISUALIZERS.md

詳細

SAP HANA ML Python クライアント(hana-ml)

関連スキル

  • sap-dependency-security: HANA ML スタックと併用する Python/補助ツールで、安全な依存関係の固定やアップグレードのワークフローを実施する際に使用します

このスキルを使用するタイミング

hana-ml Python クライアントを使用した機械学習ワークフローの構築、PAL/APL アルゴリズムの使用、HANA DataFrame へのクエリ、データベース内でのモデルのトレーニングやスコアリング、AutoML の使用、モデル出力の可視化、Python から HANA ML への接続に関するトラブルシューティングを行う際に、このスキルを使用してください。

よくある問題

問題最初に確認すること
接続に失敗するHANA のホスト、ポート、TLS/暗号化、ユーザー権限、ネットワークの許可リストを確認してください。
PAL/APL アルゴリズムが見つからないHANA システムに必要な AFL/PAL/APL ライブラリがインストールされ、ライセンスが付与されていることを確認してください。
DataFrame の収集が遅いフィルタリングや射影を HANA 内で行い、大きなフレームを Python に収集しないようにしてください。

パッケージバージョン:2.22.241011
最終確認日:2025-11-27

目次


インストールとセットアップ

pip install hana-ml

要件:Python 3.8 以降、SAP HANA 2.0 SPS03 以降、または SAP HANA Cloud


クイックスタート

接続と DataFrame
from hana_ml import ConnectionContext

# Connect
conn = ConnectionContext(
    address='<hostname>',
    port=443,
    user='<username>',
    password='<password>',
    encrypt=True
)

# Create DataFrame
df = conn.table('MY_TABLE', schema='MY_SCHEMA')
print(f"Shape: {df.shape}")
df.head(10).collect()
PAL による分類
from hana_ml.algorithms.pal.unified_classification import UnifiedClassification

# Train model
clf = UnifiedClassification(func='RandomDecisionTree')
clf.fit(train_df, features=['F1', 'F2', 'F3'], label='TARGET')

# Predict & evaluate
predictions = clf.predict(test_df, features=['F1', 'F2', 'F3'])
score = clf.score(test_df, features=['F1', 'F2', 'F3'], label='TARGET')
APL AutoML
from hana_ml.algorithms.apl.classification import AutoClassifier

# Automated classification
auto_clf = AutoClassifier()
auto_clf.fit(train_df, label='TARGET')
predictions = auto_clf.predict(test_df)
モデルの永続化
from hana_ml.model_storage import ModelStorage

ms = ModelStorage(conn)
clf.name = 'MY_CLASSIFIER'
ms.save_model(model=clf, if_exists='replace')

コアライブラリ

PAL(予測分析ライブラリ)
  • 100 種類以上のアルゴリズムをデータベース内で実行
  • カテゴリ:分類、回帰、クラスタリング、時系列、前処理
  • 主なクラス:UnifiedClassification、UnifiedRegression、KMeans、ARIMA
  • 完全な一覧については、references/PAL_ALGORITHMS.md を参照してください
APL(自動予測ライブラリ)
  • 特徴量エンジニアリングを自動で行う AutoML 機能
  • 主なクラス:AutoClassifier、AutoRegressor、GradientBoostingClassifier
  • 詳細については、references/APL_ALGORITHMS.md を参照してください
DataFrame
  • 遅延評価:collect() が呼び出されるまで SQL を構築します
  • 最適なパフォーマンスを実現する データベース内処理
  • API の全容については、references/DATAFRAME_REFERENCE.md を参照してください
ビジュアライザー
  • EDA プロット、モデルの説明、メトリクス
  • モデルの解釈可能性を高める SHAP との連携
  • 14 種類の可視化モジュールについては、references/VISUALIZERS.md を参照してください

よくあるパターン

トレーニングとテストの分割
from hana_ml.algorithms.pal.partition import train_test_val_split

train, test, val = train_test_val_split(
    data=df,
    training_percentage=0.7,
    testing_percentage=0.2,
    validation_percentage=0.1
)
特徴量の重要度
# APL models
importance = auto_clf.get_feature_importances()

# PAL models
from hana_ml.algorithms.pal.preprocessing import FeatureSelection
fs = FeatureSelection()
fs.fit(train_df, features=features, label='TARGET')
パイプライン
from hana_ml.algorithms.pal.pipeline import Pipeline
from hana_ml.algorithms.pal.preprocessing import Imputer, FeatureNormalizer

pipeline = Pipeline([
    ('imputer', Imputer(strategy='mean')),
    ('normalizer', FeatureNormalizer()),
    ('classifier', UnifiedClassification(func='RandomDecisionTree'))
])

ベストプラクティス

  1. 遅延評価を使用する:collect() で実行するまで、各操作は SQL を構築します
  2. データベース内処理を活用する:パフォーマンス向上のため、データを HANA 内に保持します
  3. Unified インターフェースを使用する:アルゴリズム間で一貫した API を利用できます
  4. モデルを保存する:永続化には ModelStorage を使用します
  5. 予測を説明する:解釈可能性を高めるため、SHAP の説明器を使用します
  6. AutoML を監視する:実行時間の長いジョブには PipelineProgressStatusMonitor を使用します

同梱リソース

参照ファイル
  • references/DATAFRAME_REFERENCE.md(479 行)

    • ConnectionContext API、DataFrame 操作、SQL 生成
  • references/PAL_ALGORITHMS.md(869 行)

    • PAL アルゴリズムの完全なリファレンス(100 種類以上)
    • 分類、回帰、クラスタリング、時系列、前処理
  • references/APL_ALGORITHMS.md(534 行)

    • AutoML 機能、自動特徴量エンジニアリング
    • AutoClassifier、AutoRegressor、GradientBoosting クラス
  • references/VISUALIZERS.md(704 行)

    • 14 種類の可視化モジュール(EDA、SHAP、メトリクス、時系列)
    • プロットの種類、設定、エクスポートオプション
  • references/SUPPORTING_MODULES.md(626 行)

    • モデルストレージ、空間分析、グラフアルゴリズム
    • テキストマイニング、統計、エラー処理

エラー処理

from hana_ml.ml_exceptions import Error

try:
    clf.fit(train_df, features=features, label='TARGET')
except Error as e:
    print(f"HANA ML Error: {e}")

Documentation

コメント