跳到主要内容
知仓学习社ZHICANG

sap-hana-ml

|

不碰外部(只输出文字)无严重或高危命中secondsky/sap-skills

它会碰到什么

扫了多少8 个文本文件,81 KB
它会碰到什么不碰外部(只输出文字)
命中总数2 处
命中统计严重 0 · 高 0 · 中 0 · 低 0

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

SAP HANA ML Python Client (hana-ml)

Related Skills

  • sap-dependency-security: Use for secure dependency pinning and upgrade workflows in Python/auxiliary tooling used alongside HANA ML stacks

When to Use This Skill

Use this skill when building machine learning workflows with the hana-ml Python client, using PAL/APL algorithms, querying HANA DataFrames, training or scoring models in-database, using AutoML, visualizing model output, or troubleshooting Python-to-HANA ML connections.

Common Issues

| Issue | First check |

|-------|-------------|

| Connection fails | Verify HANA host, port, TLS/encryption, user privileges, and network allowlists. |

| PAL/APL algorithm missing | Confirm the HANA system has the required AFL/PAL/APL libraries installed and licensed. |

| DataFrame collection is slow | Push filtering/projection into HANA and avoid collecting large frames into Python. |

Package Version: 2.22.241011

Last Verified: 2025-11-27

Table of Contents

  • [Installation & Setup](#installation--setup)
  • [Quick Start](#quick-start)
  • [Core Libraries](#core-libraries)
  • [Common Patterns](#common-patterns)
  • [Best Practices](#best-practices)
  • [Bundled Resources](#bundled-resources)

Installation & Setup

pip install hana-ml

Requirements: Python 3.8+, SAP HANA 2.0 SPS03+ or SAP HANA Cloud


Quick Start

Connection & 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 Classification

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)

Model Persistence

from hana_ml.model_storage import ModelStorage

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

Core Libraries

PAL (Predictive Analysis Library)

  • 100+ algorithms executed in-database
  • Categories: Classification, Regression, Clustering, Time Series, Preprocessing
  • Key classes: UnifiedClassification, UnifiedRegression, KMeans, ARIMA
  • See: references/PAL_ALGORITHMS.md for complete list

APL (Automated Predictive Library)

  • AutoML capabilities with automatic feature engineering
  • Key classes: AutoClassifier, AutoRegressor, GradientBoostingClassifier
  • See: references/APL_ALGORITHMS.md for details

DataFrames

  • Lazy evaluation - builds SQL until collect() called
  • In-database processing for optimal performance
  • See: references/DATAFRAME_REFERENCE.md for complete API

Visualizers

  • EDA plots, model explanations, metrics
  • SHAP integration for model interpretability
  • See: references/VISUALIZERS.md for 14 visualization modules

Common Patterns

Train-Test Split

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
)

Feature Importance

# 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')

Pipeline

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'))
])

Best Practices

  1. Use lazy evaluation - Operations build SQL without execution until collect()
  2. Leverage in-database processing - Keep data in HANA for performance
  3. Use Unified interfaces - Consistent APIs across algorithms
  4. Save models - Use ModelStorage for persistence
  5. Explain predictions - Use SHAP explainers for interpretability
  6. Monitor AutoML - Use PipelineProgressStatusMonitor for long-running jobs

Bundled Resources

Reference Files

  • references/DATAFRAME_REFERENCE.md (479 lines)
  • ConnectionContext API, DataFrame operations, SQL generation
  • references/PAL_ALGORITHMS.md (869 lines)
  • Complete PAL algorithm reference (100+ algorithms)
  • Classification, Regression, Clustering, Time Series, Preprocessing
  • references/APL_ALGORITHMS.md (534 lines)
  • AutoML capabilities, automated feature engineering
  • AutoClassifier, AutoRegressor, GradientBoosting classes
  • references/VISUALIZERS.md (704 lines)
  • 14 visualization modules (EDA, SHAP, metrics, time series)
  • Plot types, configuration, export options
  • references/SUPPORTING_MODULES.md (626 lines)
  • Model storage, spatial analytics, graph algorithms
  • Text mining, statistics, error handling

Error Handling

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

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 447
本站分层T2
该仓技能数45
原文件路径plugins/sap-hana-ml/skills/sap-hana-ml/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 45 个技能