setGpFitnessFunc

语法

setGpFitnessFunc(engine, func)
注:

社区版 License 暂不支持该函数,如需使用此功能,请联系技术支持。

详情

重置 GPLearn 引擎的适应度函数。

参数

engine 通过函数 createGPLearnEngine 创建引擎的返回对象。

func 替换后的适应度函数,可以是
  • 字符串类型标量,必须为 'mse', 'rmse', 'pearson', 'spearmanr', 'mae' 之一。
  • 用户自定义函数,有且只有两个入参,第一个参数代表因子计算结果,第二个参数代表预测值;函数的返回值必须是一个浮点型标量。自定义函数目前不支持复杂赋值、if、for 等语句,只支持 return 语句。return 值为支持的适应度函数和训练函数的组合。例如:
    def f(x, y){
      return mean((x+y)*(x+y)-y*y)
    }

自定义的适应度函数,还可与辅助函数进行组合,从而实现在计算适应度前,对数据进行预处理。辅助函数如下所示

函数名

入参数量

clip(X,Y,Z) 3
zscore(x) 1
mad(X, [useMedian=false]) 1
med(x) 1
mean(x) 1
corr(X,Y) 2

例子

def f(x, y){
  return mse(x+y,y)
}
setGpFitnessFunc(engine,f)