云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

企业网站_消息队列的应用场景_精选特惠

小七 141 0

这篇博文有助于连接saphanadb(version1.0sps12),然后从HANA表/视图中提取数据,数据大屏,并使用Python库分析数据。然后你可以清理和选择自变量/特征数据,为机器学习算法提供数据,淘客推广平台,以预测因变量或发现见解。

场景:我拿的是国有初创公司的支出(研发支出、管理支出、,SAP HANA DB中数据的来源

目标是预测给定支出值集的利润。我不是在这里解释有关ML算法和参数调整的细节。我想展示从SAP HANA DB中提取数据、分析、清理、特征选择和应用机器学习模型的端到端过程,最后将结果和ML算法性能指标写回HANA表。

线性回归是研究和业务中最常用的模型,也是最简单的模型为了理解,所以使用随机森林回归方法我们将预测利润。

下图显示了ML预测生命周期和用例中的步骤。

这个过程涉及的基本步骤是:

我创建了两个表,一个包含实际的公司数据,用于存储事务数据。第二个用于存储机器学习算法的度量(例如:MAE、R Squared、MAPE、RMSE、,准确度等)

请查找下表的结构。

主要交易数据表结构。

ML度量表存储评估参数。

预测前的历史数据(小于当月),按状态显示的支出和利润如下。我还增加了预测利润栏,用python用ML算法存储预测值,现在更新为空值

从"SCHEMA"中选择*启动数据2

让我们在HANA Studio中用SQL分析数据,用下面的SQL可以找到均值、标准差、中值、最大值、最小值和空值计数。(您可以尝试所有的措施)

选择状态,总和(利润),平均(利润),计数(利润),最大(利润),

计数(不同利润)为"唯一",stddev(利润),最小(利润),大数据库,中位数(利润),

总和(如果利润为空,则1或0结束)为"空的数量"

从"架构"。"启动数据2"按状态分组

按状态排序;

现在我来到Python脚本接口(Jupyter或spyder)。

导入所需的库。

PYODBC是一个开放源码的Python模块,使访问ODBC数据库变得简单。它实现了dbapi2.0规范,但却带来了更多的Pythonic便利。使用pyodbc,您可以使用ODBC驱动程序轻松地将Python应用程序连接到数据源。

通常,pyodbc的安装与任何其他Python包一样,通过运行:

pip install pyodbc

from a Windows DOS prompt or Unix shell。

要使用conda run安装此包,请执行以下操作:conda安装-c anaconda pyodbc

Seaborn:Seaborn是一个建立在Matplotlib之上的图形库。它可以使您的图表更漂亮,并促进一些常见的数据可视化需求

熊猫:熊猫是一个开源的,BSD许可的库,为Python编程语言提供高性能,易于使用的数据结构和数据分析工具。

Numpy:Numpy是科学计算与蟒蛇。除了其明显的科学用途之外,NumPy还可以作为通用数据的高效多维容器

Sklearn:Scikit learn通过Python中的一致接口提供了一系列有监督和无监督的学习算法。它具有各种分类、回归和聚类算法,包括支持向量机、随机森林、梯度增强、k-均值和DBSCAN,设计用于与Python数字和科学库NumPy和SciPy互操作

建立连接,一旦建立连接,应用程序可以执行驱动程序和数据库支持的选择、插入或其他ODBC操作。

conn=pyodbc.connect连接('DRIVER={HDBODBC};服务器节点)=IP地址:30115;SERVERDB=HV1;UID=USERID;PWD=PASSWORD')

#打开到SAP HANA的连接并检查记录计数

#检查表是否有条目

cursor=连接光标()

sql_query1='选择计数(*)自SCHEMA.u数据2'

数据计数=pd.read\U sql数据库(sql\u query1,conn)

dcount

print('表存在并包含',数据头(1), '记录')

执行Select SQL并读取数据并保存到数据框。一旦数据进入数据框,您可以应用所有统计函数来分析数据,如下所示:

#查询sap hana db数据并存储在数据框

sql_query2='选择*从SCHEMA.u数据2'

df=pd.read\U sql数据库(sql查询2,连接件)

测向头()

#使用GROUP BY子句分析数据

df1.groupby('STATE').agg({PROFIT':['sum'、'mean'、'count'、'max'、'std'、'min','median']})。舍入(0)

使用函数检查缺失值或空值,并相应地用mean/mode替换值。

例如,我在Rnd Spend列中有两个空值,因此用mean/median值替换。如果该列有更多的空值,则可以从分析中删除该列。

编码标称值,例如State有3个唯一值('New York'、'California'、'Florida'),使用map函数

map({'New York':0,'California':1,"佛罗里达":2})

现在找出因变量和自变量之间的相关性,最终确定预测的自变量/特征。在观察数据之后,选择(研发支出、管理支出和营销支出)作为自变量,利润作为因变量。

现在我使用随机森林回归来预测利润。

随机森林或随机决策森林是分类和回归(以及其他任务)的集成学习方法.随机林是袋装的决策树模型,在每次分割(每次迭代)时训练特征子集。

使用insert和update语句,您可以将数据发送回数据库表(例如:ML度量和预测值)。插入时注意主键。

SAP HANA表数据:

将预测利润值更新到数据框。

检查SAP HANA表中的数据,查看预测利润列中的更新值。