generate_feature

hana_ml.algorithms.pal.feature_tool.generate_feature(data, targets, group_by=None, agg_func=None, trans_func=None, order_by=None, trans_param=None)

Add additional features to the existing dataframe using agg_func and trans_func.

Parameters
dataDataFrame

Input DataFrame.

targetsstr or list of str

The column(s) in data to be feature engineered.

group_bystr, optional

The column in data for group by when performing agg_func.

agg_funcstr, optional

HANA aggregation operations. SUM, COUNT, MIN, MAX, ...

trans_funcstr, optional

HANA transformation operations. MONTH, YEAR, LAG, ...

A special transformation is GEOHASH_HIERARCHY. This creates features based on a GeoHash. The default length of 20 for the hash can be influenced by respective trans parameters. Providing for example range(3, 11), the operation adds 7 features with a length of the GeoHash between 3 and 10.

order_bystr, optional

LEAD, LAG function requires an OVER(ORDER_BY) window specification.

trans_paramlist, optional

Parameters for transformation operations corresponding to targets.

Returns
DataFrame

A SAP HANA DataFrame with new features.

Examples

>>> df.head(5).collect()
                   TIME    TEMPERATURE    HUMIDITY      OXYGEN          CO2
0   2021-01-01 12:00:00      19.972199   29.271170   23.154523   504.806395
...
4   2021-01-01 12:00:40      20.163497   26.056979   22.469276   528.337481
>>> generate_feature(data=df,
                     targets=["TEMPERATURE", "HUMIDITY", "OXYGEN", "CO2"],
                     trans_func="LAG",
                     order_by="TIME",
                     trans_param=[range(1, 7), range(1, 5), range(1, 5), range(1,7)]).dropna().deselect("TIME").head(2).collect()
 TEMPERATURE    HUMIDITY      OXYGEN          CO2 LAG(TEMPERATURE, 1)  ...  LAG(CO2, 4)
0  20.978001   26.187823   21.982030   522.731895           20.701740  ...   510.111974
1  21.234148   25.703989   21.804864   528.066402           20.978001  ...   516.993696