GBRT算法是集成学习Boosting家族的成员,使用了前向分布算法,但是弱学习器限定了只能使用CART回归树模型。前向分布算法的思想是基于当前模型和拟合函数来选择合适的决策树函数,从而最小化损失函数。
GBRT主要有以下两部分组成:
GBRT是一个回归模型,主要用于拟合数值。
GBRT算法可以应用于流行病学。例如,有关于人的死亡率和发病率早期证据来自于回归分析的观察性研究。假设有一个回归模型,在回归模型中死亡率(或发病率)是需要拟合的变量y_cols,则社会经济地位、教育或收入等可以做为其因变量。
下表中的参数为创建模型CREATEMODEL语法中model_parameter参数的取值,您可以根据当前需求选择对应的参数。
参数
说明
n_estimators
迭代次数。次数越多拟合越好,通常为正整数,默认值为100。
objective
学习任务及相应的学习目标。取值如下:
max_depth
树的最大深度。默认值为7。
如果设置为-1,则表示不对树的深度做限制。但为防止过拟合,建议合理设置该值。
random_state
随机状态。通常为正整数,默认值为1。
模型创建与模型离线学习
/*polar4ai*/CREATEMODELgbrt1WITH(model_class='gbrt',x_cols='dx1,dx2',y_cols='y',model_parameter=(objective='ls'))AS(SELECT*FROMdb4ai.testdata1);模型评估
/*polar4ai*/SELECTdx1,dx2FROMEVALUATE(MODELgbrt1,SELECT*FROMdb4ai.testdata1LIMIT10)WITH(x_cols='dx1,dx2',y_cols='y',metrics='r2_score');模型预测
/*polar4ai*/SELECTdx1,dx2FROMPREDICT(MODELgbrt1,SELECT*FROMdb4ai.testdata1LIMIT10)WITH(x_cols='dx1,dx2');