用于SAP HANA的Python机器学习客户端

hana-ml的Python项目详细描述


简介

欢迎使用用于机器学习算法的SAP HANA Python客户端API。此API使Python数据科学家能够访问SAP HANA数据,并直接在SAP HANA中使用这些数据构建机器学习模型。在

概述

用于机器学习算法的SAP HANA Python客户端API提供了一组用于访问和查询SAP HANA数据的客户端Python函数,以及一组用于开发机器学习模型的函数。在

用于机器学习的Python客户端API由两个主要部分组成:

  • 一组用于不同算法的机器学习api。在

  • SAP HANA DataFrame,它提供了一组用于分析SAP HANA中的数据的方法,而无需将数据带到客户端。在

这组API由两个包组成:

  • PAL包

  • APL包

预测分析库(PAL)包由一组Python算法和函数组成,这些算法和函数提供了对saphana中机器学习功能的访问。PAL-Python函数覆盖了各种不同的机器学习算法,用于训练模型,然后使用训练的模型进行评分。有关此版本中可用的特定算法的详细信息,请参阅文档。在

Automated Predictive Library(APL)软件包通过一组函数公开了SAP HANA中自动分析引擎的数据挖掘功能。这些功能开发了一个预测建模过程,分析员可以使用该过程回答有关存储在SAP HANA中的客户数据集的简单问题。在

此Python库使用SAP HANA Python驱动程序(hdbcli)连接和访问SAP HANA。在

入门

通过安装

>>> pip install hana-ml

快速入门

  • 对于HANA租户数据库,使用端口号3NN13(其中NN是SAP实例号,例如30013)。在

  • 对于多租户系统中的HANA系统数据库,端口号为3NN13。在

  • 对于HANA单租户数据库,端口号为3NN15。在

    >>> from hana_ml import dataframe
    >>> conn = dataframe.ConnectionContext( address="<hostname>", port=3<NN>MM, user="<username>", password="<password>")

返回引用到SAP HANA表的数据帧。在

^{pr2}$

从select语句返回一个DataFrame。在

>>> df = dataframe.DataFrame(conn, 'select * from MY_SCHEMA.MY_TABLE')

转换为熊猫数据帧。在

>>> pandas_df = df.collect()

从pandas DataFrame转换为HANA DataFrame。在

>>> df = dataframe.create_dataframe_from_pandas(conn, pandas_df, 'MY_TABLE', force=True)

请致电SAP HANA机器学习算法。在

>>> rfc = RandomForestClassifier(n_estimators=3,
                                 max_features=3,
                                 random_state=2,
                                 split_threshold=0.00001,
                                 calculate_oob=True,
                                 min_samples_leaf=1,
                                 thread_ratio=1.0)
>>> rfc.fit(data=df, features=['OUTLOOK', 'TEMP', 'HUMIDITY', 'WINDY'],
         label='LABEL')
>>> rfc.feature_importances_.collect()
  VARIABLE_NAME  IMPORTANCE
0       OUTLOOK    0.449550
1          TEMP    0.216216
2      HUMIDITY    0.208108
3         WINDY    0.126126
>>> result = rfc.predict(data=df2, key='ID', verbose=False)
>>> result.collect()
   ID SCORE  CONFIDENCE
0   0  Play    0.666667
1   1  Play    0.666667

帮助

有关使用SAP HANA ML API进行开发的详细信息,请参阅[SAP HANA ML API Reference](https://help.sap.com/doc/1d0ebfe5e8dd44d09606814d83308d4b/2.0.05/en-US/index.html)。在

许可证

SAP HANA ML API是通过[SAP Developer License Agreement](https://tools.hana.ondemand.com/developer-license-3_1.txt)提供的。在

通过使用本软件,您同意将以下文本纳入开发人员协议的条款中:

If you are an existing SAP customer for On Premise software, your use of this current software is also covered by the
terms of your software license agreement with SAP, including the Use Rights, the current version of which can be found at:
`https://www.sap.com/about/agreements/product-use-and-support-terms.html?tag=agreements:product-use-support-terms/on-premise-software/software-use-rights <https://www.sap.com/about/agreements/product-use-and-support-terms.html?tag=agreements:product-use-support-terms/on-premise-software/software-use-rights>`_

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaEclipseMars没有保存首选项   java梯度同步失败:原因:启动失败:   java如何从嵌套的JSON获取数据?   java如何判断可观察对象中的任何对象满足一个条件?   java将字符串转换为保持相同值的byte[]数组   java有没有办法绕过AuditingEntityListener为测试设置数据?   从/usr/share/java中解析linux JAR依赖关系   安卓 My java函数抛出nullpointerexception?   java Gradle使用正确版本的依赖项   JBoss和Java6中带注释的WebService中的web服务ClassCastException   java如何修复codename one中的简单逻辑错误?   java如何迭代矩阵的索引?   java如何在JPanel不可见时将其保存为图像?   java HashMap如何在Kotlin中实现MutableMap接口?   javascript如何在单击后加载特定片段?   EclipseJava为纳什均衡获取所有玩家/策略组合   JavaSpring:Web服务REST在JSON上产生双反斜杠   java为什么ServletContext#getRealPath(“/”)返回相对路径?   java当我的游戏应该重新启动时,我应该如何处理重置SurfaceView和线程?