广义线性模型(水)
剧情简介
使用H2O 3.30.0.1执行GLM算法。描述
请注意,此算法的结果可能取决于所使用的线程数。不同的设置可能导致输出略有不同。
广义线性模型(GLMs)是传统线性模型的扩展。该算法通过最大化对数似然来拟合数据的广义线性模型。弹性网惩罚可用于参数正则化。模型拟合计算是并行的,非常快,对于具有有限数量的非零系数预测器的模型来说,它的可伸缩性非常好。
操作员启动一个1节点的本地H2O集群,并在其上运行算法。虽然它使用一个节点,但执行是并行的。您可以通过更改设置/首选项/通用/线程数设置来设置并行级别。默认情况下,它使用系统的推荐线程数。只有集群的一个实例被启动,它保持运行,直到您关闭RapidMiner Studio。
请注意,在7.6版本以下,默认情况下使用为最大f值优化的阈值进行预测。
输入
- 训练集(数据表)
输入端口需要一个带标签的ExampleSet。
输出
- 模型
广义线性分类或回归模型从这个输出端口传递。这种分类或回归模型可以应用于未知的数据集,以预测标签属性。
- 榜样(数据表)
作为输入给出的ExampleSet不会通过该端口更改为输出。这通常用于在进一步的操作符中重用相同的ExampleSet,或者在结果工作区中查看ExampleSet。
- 权重(权重)
该端口下发与label属性相关的属性权重。
- 阈值
该端口仅用于二项分类任务。它提供了一个为最大f值优化的阈值。如果希望使用由H2O计算的这个阈值,请将该输出连接到Apply threshold操作符以及得分的ExampleSet。(默认情况下,RapidMiner在应用模型时使用0.5的阈值。)
参数
- 家庭家庭。使用二项分类与逻辑回归,其他是回归问题。
- AUTO:自动选择。使用多项式表示多标号,使用二项式表示二标号,使用高斯表示数字标号。
- 高斯:数据必须是数字(实数或整数)。
- 二项的:数据必须是二项的或多项的,有2个级别/类。
- 多项的:数据必须是多项的,具有两个以上的级别/类。
- 泊松:数据必须是数字和非负的(整数)。
- gamma:数据必须是数字、连续和正的(实数或整数)。
- tweedie:数据必须是数字和连续的(实数)和非负的。
- 解算器选择要使用的求解器。IRLSM在具有少量预测器的问题和具有L1惩罚的lambda搜索问题上速度很快,而L_BFGS在具有许多列的数据集上扩展得更好。COORDINATE_DESCENT是最内层循环中具有协方差更新版本的循环坐标下降的IRLSM。COORDINATE_DESCENT_NAIVE是IRLSM,在最内层循环中具有循环坐标下降的幼稚更新版本。COORDINATE_DESCENT_NAIVE和COORDINATE_DESCENT目前是实验性的。价值观:
- 汽车
- IRLSM
- L_BFGS
- COORDINATE_DESCENT(实验)
- COORDINATE_DESCENT_NAIVE(实验)
- 链接链接函数将线性预测器与分布函数联系起来。默认值是指定家族的规范链接。只适用于高斯族,泊松族和伽玛族,因为只有一种链接类型是可能的:
- 家庭:二项;链接:分对数
- 家庭:多项式;链接:多项式
- 家庭:tweedie;链接:tweedie
- family_default:对高斯族使用恒等,对possion使用log,对gamma族使用逆。
- 可能的家庭选项:高斯,泊松,伽玛
- log:可能的家庭选项:高斯,泊松,伽玛
- 逆:可能的家庭选项:高斯,伽玛
- 可再生的使模型构建可复制。如果设置,则maximum_number_of_threads参数控制模型构建的并行度级别。如果未设置,则并行级别由通用首选项中的线程数定义。范围:布尔
- maximum_number_of_threads控制模型构建的并行性级别。范围:整数
- specify_beta_constraints如果启用,则可以提供常规属性的beta约束。范围:布尔
- use_regularization如果需要使用正则化,请勾选此框。对于正则化,您可以指定lambda, alpha和lambda搜索相关参数。如果alpha或lambda未定义(默认),H2O将根据训练数据和其他参数计算它们的默认值。如果此参数设置为false,则lambda设置为0.0(表示不正则化)。范围:布尔
- λlambda参数控制应用的正则化量。如果lambda为0.0,则不应用正则化并且忽略alpha参数(您可以通过禁用use regularization参数来设置它)。lambda的默认值由H2O使用基于训练数据的启发式计算。通过高级参数提供多个lambda值会触发搜索。范围:真正的
- lambda_search一个逻辑值指示是否在lambda值的空间中进行搜索,从max lambda开始,给定lambda将被解释为min lambda。默认为false。范围:布尔
- number_of_lambdas当lambda search = true时,lambda值的个数。0表示没有偏好。范围:整数
- lambda_min_ratio作为的分数的最小值。Max,入口值,它是模型中所有系数为零的最小值。如果观测值的数量大于变量的数量,则默认lambda_min_ratio = 0.0001;如果观测值的数量少于变量的数量,那么默认的lambda_min_ratio = 0.01。默认值是0.0,这意味着没有首选项。范围:真正的
- early_stopping如果应该根据停止轮数和停止公差参数对lambda搜索进行提前停止,请选中此框。使用的停止度量总是偏差。范围:布尔
- stopping_rounds基于stopping_metric收敛性的提前停车。如果stopping_metric的长度k的简单移动平均对于k:=stopping_rounds评分事件没有改善,则停止。范围:整数
- stopping_tolerance基于度量的停止标准的相对容忍度(如果相对改进至少没有这么多,则停止)。范围:真正的
- αalpha参数控制L1 (Lasso)和L2 (Ridge回归)惩罚之间的分布。alpha值为1.0表示Lasso, alpha值为0.0表示Ridge回归。通过高级参数提供多个alpha值触发搜索。L-BFGS解算器的默认值为0.0,否则为0.5。范围:真正的
- 标准化标准化数值列,使其平均值和单位方差为零范围:布尔
- non-negative_coefficients限制系数(不是截距)为非负。范围:布尔
- compute_p-values请求p值计算。p值只适用于IRLSM解算器,不适用正则化。Intercept也必须添加到模型中。此外,非负系数和指定beta约束参数必须设置为false才能计算p值。范围:布尔
- remove_collinear_columns在线性相关列的情况下,去掉一些相关列。仅在将截距添加到模型时才起作用。范围:布尔
- add_intercept在模型中包含常数项。范围:布尔
- missing_values_handling处理缺失值。跳过或MeanImputation。
- 跳过:跳过不存在的值。
- MeanImputation:用平均值代替缺失值。
- max_iterations最大迭代次数。0表示没有限制。范围:整数
- beta_constraints贝塔值的约束条件。一行由以下值组成:名称
- 属性名称:属性的名称。
- 类别:来自属性域的值。请注意提供准确的值。使用更多行来指定多个类别的约束。
- 下界:的下界。
- 上界:的上界。
- 给定Beta:指定在近端操作界面中给定的解。近端操作符接口允许您在与指定给定解的距离上运行具有近端惩罚的GLM。
- Beta start: Beta的起始值。
- max_runtime_seconds模型训练的最大允许运行时间(秒)。使用0禁用。范围:整数
- expert_parameters这些参数是用来微调算法的。通常,默认值提供了一个不错的模型,但在某些情况下,更改它们可能是有用的。请为布尔参数使用真/假值,为列使用确切的属性名称。可以通过使用逗号(,)分隔值来提供数组。有关参数的更多信息可以在H2O文档中找到。
- score_each_iteration:是否在模型训练的每次迭代中打分。类型:boolean,默认值:false
- fold_assign:交叉验证折叠分配方案,如果没有指定fold_column。选项:自动,随机,模,分层。类型:枚举,默认值:AUTO
- fold_column:每个观测值的交叉验证折叠索引分配的列名。类型:列,默认:无折叠列
- offset_column:偏移列名称。类型:列,默认值:无偏移列
- max_confusion_matrix_size:在日志中打印的混淆矩阵的最大大小(# classes)。类型:整型,默认值:20
- keep_cross_validation_predictions:保留交叉验证模型预测。类型:boolean,默认值:false
- keep_cross_validation_fold_assignment:保持交叉验证折叠分配。类型:boolean,默认值:false
- tweedie_variance_power:一个数值,指定当family = "tweedie"时方差函数的功率。类型:real,默认值:0
- tweedie_link_power:当family = "tweedie"时,指定链接函数功率的数值。类型:real,缺省值:1
- prior:当family =“二项”时,指定响应中类别1的先验概率的数值。必须从(0,1)独占范围或-1(无优先)。缺省值为第1类的观测频率。类型:real缺省值:-1 (no prior)
- beta_epsilon:一个非负数,指定连续迭代的系数估计之间的最大差值的大小。定义收敛准则。类型:real,默认值:0.0001
- objective_epsilon:指定收敛阈值。如果目标值小于该阈值,则模型收敛。类型:real,默认值:-1(无阈值)
- gradient_epsilon:(仅适用于L-BFGS)指定收敛阈值。如果目标值(使用l无穷范数)小于该阈值,则模型收敛。类型:real,默认值:0.0001
- max_active_predictors:指定计算期间活动预测器的最大数量。此值用作停止准则,以防止使用许多预测器构建昂贵的模型。类型:整数,默认值:-1(无限制)
- obj_reg:目标值计算中的似然除法,类型:real,默认值:1/nobs
- additional_alpha:提供额外的alpha会触发搜索。如果alpha未定义则忽略。
- additional_lambdas:提供额外的lambdas触发搜索。如果lambda未定义则忽略。
- nfolds:交叉验证的折叠数。使用0关闭交叉验证。类型:整型,默认值:0
教程的过程
使用GLM进行分类
GLM运算符用于预测Deals样本数据集的Future customer属性。所有参数在GLM中保持默认值。这意味着,由于二名标签,Family参数将自动设置为“binominal”,相应的Link函数将设置为“logit”。生成的模型连接到Apply model操作符,该操作符将Generalized Linear模型应用于Deals_Testset示例数据。带标签的ExampleSet连接到一个Performance (Binominal Classification)操作符,该操作符计算精度度量。在过程输出上显示了性能向量、广义线性模型和输出exampleeset。
GLM回归
GLM操作符用于使用分割验证操作符预测Polynominal样本数据集的标签属性。标签是数值的,这意味着执行了回归。“compute p-values”参数被设置为true,这需要设置多个参数:lambda参数被设置为0.0(没有正则化),共线列被删除,并且没有指定beta约束。Solver参数设置为AUTO,这意味着使用IRLSM求解器——这允许计算p值。生成的模型应用于分割验证操作符的测试子流程。标记的ExampleSet连接到一个性能(回归分类)操作符,该操作符计算均方根误差度量。在过程输出上给出了性能向量和广义线性模型。