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