主要内容gydF4y2Ba

ClassificationGAMgydF4y2Ba

二元分类的广义可加性模型(GAM)gydF4y2Ba

    描述gydF4y2Ba

    一个gydF4y2BaClassificationGAMgydF4y2Ba对象是gydF4y2Ba广义加性模型gydF4y2Ba(GAM)对象用于二进制分类。这是一个可解释的模型,它使用单变量和双变量形状函数的和来解释类别分数(类别概率的logit)。gydF4y2Ba

    方法对新观测结果进行分类gydF4y2Ba预测gydF4y2Ba函数,并绘制每个形状函数对预测(类分数)的影响gydF4y2BaplotLocalEffectsgydF4y2Ba函数。的对象函数的完整列表gydF4y2BaClassificationGAMgydF4y2Ba,请参阅gydF4y2Ba对象的功能gydF4y2Ba.gydF4y2Ba

    创建gydF4y2Ba

    创建一个gydF4y2BaClassificationGAMgydF4y2Ba对象,使用gydF4y2BafitcgamgydF4y2Ba.您可以为预测器指定线性项和交互项,以便分别在训练的模型中包括单变量形状函数(预测树)和双变量形状函数(交互树)。gydF4y2Ba

    您可以通过使用更新训练过的模型gydF4y2Ba重新开始gydF4y2Ba或gydF4y2BaaddInteractionsgydF4y2Ba.gydF4y2Ba

    • 的gydF4y2Ba重新开始gydF4y2Ba函数恢复对模型中现有项的训练。gydF4y2Ba

    • 的gydF4y2BaaddInteractionsgydF4y2Ba函数将交互项添加到仅包含线性项的模型中。gydF4y2Ba

    属性gydF4y2Ba

    全部展开gydF4y2Ba

    访问属性gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    的单元格数组指定的数值预测器的Bin边gydF4y2BapgydF4y2Ba数字向量,其中gydF4y2BapgydF4y2Ba是预测因子的数量。每个向量都包含数值预测器的bin边。类别预测器的单元格数组中的元素为空,因为软件不收纳类别预测器。gydF4y2Ba

    类型时,软件才会对数值预测器进行分类gydF4y2Ba“NumBins”gydF4y2Ba在使用树学习器训练模型时,名称-值参数作为正整数标量。的gydF4y2BaBinEdgesgydF4y2Ba属性为空gydF4y2Ba“NumBins”gydF4y2Ba值为空(默认值)。gydF4y2Ba

    您可以重新生成已归档的预测器数据gydF4y2BaXbinnedgydF4y2Ba通过使用gydF4y2BaBinEdgesgydF4y2Ba训练模型的属性gydF4y2BamdlgydF4y2Ba.gydF4y2Ba

    X = mdl.X;%预测数据Xbinned = 0(大小(X));edges = mdl.BinEdges;查找已分类预测符的索引。idxNumeric = find(~cellfun(@isempty,edges));if iscolumn(idxNumeric) idxNumeric = idxNumeric';end for j = idxNumeric x = x (:,j);如果x是一个表,则将x转换为数组。If stable(x) x = table2array(x);将x分组到箱子中gydF4y2Ba离散化gydF4y2Ba函数。Xbinned =离散化(x,[-inf;边缘{};正]);Xbinned(:,j) = Xbinned;结束gydF4y2Ba
    XbinnedgydF4y2Ba包含数值预测器的容器索引,范围从1到容器数。gydF4y2BaXbinnedgydF4y2Ba类别预测器的值为0。如果gydF4y2BaXgydF4y2Ba包含gydF4y2Ba南gydF4y2BaS,然后是对应的gydF4y2BaXbinnedgydF4y2Ba值是gydF4y2Ba南gydF4y2Ba年代。gydF4y2Ba

    数据类型:gydF4y2Ba细胞gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    交互项索引,指定为gydF4y2BatgydF4y2Ba-by-2矩阵的正整数,其中gydF4y2BatgydF4y2Ba是模型中交互项的数量。矩阵的每一行表示一个交互项,并包含预测器数据的列索引gydF4y2BaXgydF4y2Ba对于相互作用项。如果模型不包括交互项,则此属性为空(gydF4y2Ba[]gydF4y2Ba).gydF4y2Ba

    软件将交互术语按重要性的顺序添加到模型中gydF4y2BapgydF4y2Ba值。使用此属性检查添加到模型中的交互项的顺序。gydF4y2Ba

    数据类型:gydF4y2Ba双gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    模型的截距(常数)项,它是预测树和交互树中截距项的和,指定为数值标量。gydF4y2Ba

    数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    用于训练模型的参数,指定为模型参数对象。gydF4y2BaModelParametersgydF4y2Ba包含用于训练模型的名称-值参数的参数值。gydF4y2BaModelParametersgydF4y2Ba不包含估计参数。gydF4y2Ba

    访问字段gydF4y2BaModelParametersgydF4y2Ba用点表示法。例如,通过使用访问每个交互树的最大决策分割数量gydF4y2BaMdl.ModelParameters.MaxNumSplitsPerInteractiongydF4y2Ba.gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    的单元格数组指定的数值预测器的交互项检测的Bin边gydF4y2BapgydF4y2Ba数字向量,其中gydF4y2BapgydF4y2Ba是预测因子的数量。每个向量都包含数值预测器的bin边。类别预测器的单元格数组中的元素为空,因为软件不收纳类别预测器。gydF4y2Ba

    为了加快交互项检测过程,该软件将数值预测器最多分为8个等概率箱。如果预测器的唯一值少于8个,则箱子的数量可以小于8个。gydF4y2Ba

    数据类型:gydF4y2Ba细胞gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    训练模型停止的原因,指定为具有两个字段的结构,gydF4y2BaPredictorTreesgydF4y2Ba而且gydF4y2BaInteractionTreesgydF4y2Ba.gydF4y2Ba

    使用此属性检查模型是否包含每个线性项的指定数量的树(gydF4y2Ba“NumTreesPerPredictor”gydF4y2Ba),对于每个交互项(gydF4y2Ba“NumTreesPerInteraction”gydF4y2Ba).如果gydF4y2BafitcgamgydF4y2Ba函数在添加指定数量的树之前终止训练,此属性包含终止的原因。gydF4y2Ba

    数据类型:gydF4y2Ba结构体gydF4y2Ba

    其他分类属性gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    分类预测指标,指定为正整数向量。gydF4y2BaCategoricalPredictorsgydF4y2Ba包含指示相应预测符是分类的索引值。索引值在1和之间gydF4y2BapgydF4y2Ba,在那里gydF4y2BapgydF4y2Ba用于训练模型的预测器的数量。如果没有一个预测符是分类的,则此属性为空(gydF4y2Ba[]gydF4y2Ba).gydF4y2Ba

    数据类型:gydF4y2Ba双gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    训练中使用的唯一类标签,指定为类别或字符数组、逻辑或数字向量或字符向量的单元格数组。gydF4y2Ba一会gydF4y2Ba与类标签具有相同的数据类型gydF4y2BaYgydF4y2Ba.gydF4y2Ba(该软件将字符串数组视为字符向量的单元格数组。)gydF4y2Ba一会gydF4y2Ba也决定了类的顺序。gydF4y2Ba

    数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Ba逻辑gydF4y2Ba|gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba细胞gydF4y2Ba|gydF4y2Ba分类gydF4y2Ba

    错误分类的代价,指定为2乘2的数字矩阵。gydF4y2Ba

    成本(gydF4y2Ba我gydF4y2Ba,gydF4y2BajgydF4y2Ba)gydF4y2Ba将一个点分类的成本是多少gydF4y2BajgydF4y2Ba如果它真正的阶级是gydF4y2Ba我gydF4y2Ba.的行和列的顺序gydF4y2Ba成本gydF4y2Ba中类的顺序对应gydF4y2Ba一会gydF4y2Ba.gydF4y2Ba

    该软件使用gydF4y2Ba成本gydF4y2Ba有预测价值,但没有训练价值。您可以使用点表示法来更改该值。gydF4y2Ba

    例子:gydF4y2BaMdl。成本=C;

    数据类型:gydF4y2Ba双gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    扩展的预测器名称,指定为字符向量的单元格数组。gydF4y2Ba

    ExpandedPredictorNamesgydF4y2Ba和gydF4y2BaPredictorNamesgydF4y2Ba对于广义加性模型。gydF4y2Ba

    数据类型:gydF4y2Ba细胞gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    在训练数据中存储的观察数gydF4y2BaXgydF4y2Ba而且gydF4y2BaYgydF4y2Ba,指定为数值标量。gydF4y2Ba

    数据类型:gydF4y2Ba双gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    预测器变量名,指定为字符向量的单元格数组。元素的顺序gydF4y2BaPredictorNamesgydF4y2Ba对应于预测器名称在训练数据中出现的顺序。gydF4y2Ba

    数据类型:gydF4y2Ba细胞gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    先验类概率,指定为具有两个元素的数字向量。元素的顺序对应于中元素的顺序gydF4y2Ba一会gydF4y2Ba.gydF4y2Ba

    数据类型:gydF4y2Ba双gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    响应变量名,指定为字符向量。gydF4y2Ba

    数据类型:gydF4y2Ba字符gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    用于拟合的原始训练数据行gydF4y2BaClassificationGAMgydF4y2Ba模型,指定为逻辑向量。如果使用所有行,则此属性为空。gydF4y2Ba

    数据类型:gydF4y2Ba逻辑gydF4y2Ba

    分数转换,指定为字符向量或函数句柄。gydF4y2BaScoreTransformgydF4y2Ba表示用于转换预测分类分数的内置转换函数或函数句柄。gydF4y2Ba

    将分数转换函数更改为gydF4y2Ba函数gydF4y2Ba例如,使用点表示法。gydF4y2Ba

    • 对于内置函数,请输入字符向量。gydF4y2Ba

      Mdl。ScoreTransform = 'gydF4y2Ba函数gydF4y2Ba”;gydF4y2Ba

      该表描述了可使用的内置函数。gydF4y2Ba

      价值gydF4y2Ba 描述gydF4y2Ba
      “doublelogit”gydF4y2Ba 1 / (1 +gydF4y2BaegydF4y2Ba2gydF4y2BaxgydF4y2Ba)gydF4y2Ba
      “invlogit”gydF4y2Ba 日志(gydF4y2BaxgydF4y2Ba/ (1 -gydF4y2BaxgydF4y2Ba))gydF4y2Ba
      “ismax”gydF4y2Ba 将得分最大的类的得分设置为1,并将所有其他类的得分设置为0gydF4y2Ba
      分对数的gydF4y2Ba 1 / (1 +gydF4y2BaegydF4y2Ba- - - - - -gydF4y2BaxgydF4y2Ba)gydF4y2Ba
      “没有”gydF4y2Ba或gydF4y2Ba“身份”gydF4y2Ba xgydF4y2Ba(转换)gydF4y2Ba
      “标志”gydF4y2Ba 1gydF4y2BaxgydF4y2Ba< 0gydF4y2Ba
      为0gydF4y2BaxgydF4y2Ba= 0gydF4y2Ba
      1gydF4y2BaxgydF4y2Ba> 0gydF4y2Ba
      “对称”gydF4y2Ba 2gydF4y2BaxgydF4y2Ba- 1gydF4y2Ba
      “symmetricismax”gydF4y2Ba 将得分最大的类的得分设置为1,并将所有其他类的得分设置为-1gydF4y2Ba
      “symmetriclogit”gydF4y2Ba 2 / (1 +gydF4y2BaegydF4y2Ba- - - - - -gydF4y2BaxgydF4y2Ba) - 1gydF4y2Ba

    • 对于MATLABgydF4y2Ba®gydF4y2Ba函数或您定义的函数,输入其函数句柄。gydF4y2Ba

      Mdl。ScoreTransform = @gydF4y2Ba函数gydF4y2Ba;gydF4y2Ba

      函数gydF4y2Ba必须接受一个矩阵(原始分数)并返回一个相同大小的矩阵(转换后的分数)。gydF4y2Ba

    此属性确定对象函数的输出分数计算,例如gydF4y2Ba预测gydF4y2Ba,gydF4y2Ba保证金gydF4y2Ba,gydF4y2Ba边缘gydF4y2Ba.使用gydF4y2Ba分对数的gydF4y2Ba计算后验概率,并使用gydF4y2Ba“没有”gydF4y2Ba计算后验概率的对数。gydF4y2Ba

    数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Bafunction_handlegydF4y2Ba

    此属性是只读的。gydF4y2Ba

    用于训练模型的观察权重,指定为gydF4y2BangydF4y2Ba-by-1数值向量。gydF4y2BangydF4y2Ba为观测数(gydF4y2BaNumObservationsgydF4y2Ba).gydF4y2Ba

    方法中指定的观测权值进行归一化gydF4y2Ba“重量”gydF4y2Ba的元素gydF4y2BaWgydF4y2Ba在一个特定的类别中求和等于该类别的先验概率。gydF4y2Ba

    数据类型:gydF4y2Ba双gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    用于训练模型的预测器,指定为数值矩阵或表格。gydF4y2Ba

    每行gydF4y2BaXgydF4y2Ba对应一个观察结果,每一列对应一个变量。gydF4y2Ba

    数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Ba表格gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    用于训练模型的类标签,指定为类别或字符数组、逻辑或数字向量或字符向量的单元格数组。gydF4y2BaYgydF4y2Ba具有与用于训练模型的响应变量相同的数据类型。gydF4y2Ba(该软件将字符串数组视为字符向量的单元格数组。)gydF4y2Ba

    每行gydF4y2BaYgydF4y2Ba的对应行所观察的分类gydF4y2BaXgydF4y2Ba.gydF4y2Ba

    数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Ba逻辑gydF4y2Ba|gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba细胞gydF4y2Ba|gydF4y2Ba分类gydF4y2Ba

    超参数优化属性gydF4y2Ba

    此属性是只读的。gydF4y2Ba

    超参数的交叉验证优化的描述,指定为gydF4y2BaBayesianOptimizationgydF4y2Ba对象或超参数及相关值的表。属性时,此属性为非空gydF4y2Ba“OptimizeHyperparameters”gydF4y2Ba的名称-值参数gydF4y2BafitcgamgydF4y2Ba不是gydF4y2Ba“没有”gydF4y2Ba(默认值)。的价值gydF4y2BaHyperparameterOptimizationResultsgydF4y2Ba的设置gydF4y2Ba优化器gydF4y2Ba在gydF4y2BaHyperparameterOptimizationOptionsgydF4y2Ba的结构gydF4y2BafitcgamgydF4y2Ba创建对象时。gydF4y2Ba

    的价值gydF4y2Ba优化器gydF4y2Ba场gydF4y2Ba 的价值gydF4y2BaHyperparameterOptimizationResultsgydF4y2Ba
    “bayesopt”gydF4y2Ba(默认)gydF4y2Ba 类的对象gydF4y2BaBayesianOptimizationgydF4y2Ba
    “gridsearch”gydF4y2Ba或gydF4y2Ba“randomsearch”gydF4y2Ba 使用的超参数表,观察到的目标函数值(交叉验证损失),以及从最低(最好)到最高(最差)的观察值排序gydF4y2Ba

    对象的功能gydF4y2Ba

    全部展开gydF4y2Ba

    紧凑的gydF4y2Ba 减小机器学习模型的尺寸gydF4y2Ba
    crossvalgydF4y2Ba 交叉验证机器学习模型gydF4y2Ba
    addInteractionsgydF4y2Ba 在单变量广义可加性模型(GAM)中添加交互项gydF4y2Ba
    重新开始gydF4y2Ba 广义加法模型(GAM)简历训练gydF4y2Ba
    石灰gydF4y2Ba 局部可解释模型不可知解释(LIME)gydF4y2Ba
    partialDependencegydF4y2Ba 计算部分依赖关系gydF4y2Ba
    plotLocalEffectsgydF4y2Ba 广义可加性模型(GAM)中项的局部效应图gydF4y2Ba
    plotPartialDependencegydF4y2Ba 创建部分依赖图(PDP)和个别条件期望图(ICE)gydF4y2Ba
    沙普利gydF4y2Ba 沙普利值gydF4y2Ba
    预测gydF4y2Ba 利用广义加性模型(GAM)对观测数据进行分类gydF4y2Ba
    损失gydF4y2Ba 广义可加性模型的分类损失gydF4y2Ba
    保证金gydF4y2Ba 广义可加性模型(GAM)的分类边界gydF4y2Ba
    边缘gydF4y2Ba 广义可加性模型的分类边gydF4y2Ba
    resubPredictgydF4y2Ba 使用训练过的分类器对训练数据进行分类gydF4y2Ba
    resubLossgydF4y2Ba 再置换分类损失gydF4y2Ba
    resubMargingydF4y2Ba 再置换分类边际gydF4y2Ba
    resubEdgegydF4y2Ba 再置换分类边gydF4y2Ba
    compareHoldoutgydF4y2Ba 比较使用新数据的两种分类模型的准确性gydF4y2Ba
    testckfoldgydF4y2Ba 通过重复交叉验证比较两种分类模型的准确性gydF4y2Ba

    例子gydF4y2Ba

    全部折叠gydF4y2Ba

    训练一个单变量广义可加性模型,其中包含预测变量的线性项。方法解释指定数据实例的预测gydF4y2BaplotLocalEffectsgydF4y2Ba函数。gydF4y2Ba

    加载gydF4y2Ba电离层gydF4y2Ba数据集。该数据集有34个预测器和351个雷达返回的二进制响应,要么是坏的(gydF4y2Ba“b”gydF4y2Ba)或好(gydF4y2Ba‘g’gydF4y2Ba).gydF4y2Ba

    负载gydF4y2Ba电离层gydF4y2Ba

    训练一个单变量GAM,识别雷达返回是否不良(gydF4y2Ba“b”gydF4y2Ba)或好(gydF4y2Ba‘g’gydF4y2Ba).gydF4y2Ba

    Mdl = fitccam (X,Y)gydF4y2Ba
    Mdl = ClassificationGAM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: {'b' 'g'} ScoreTransform: 'logit'拦截:2.2715 NumObservations: 351属性,方法gydF4y2Ba

    MdlgydF4y2Ba是一个gydF4y2BaClassificationGAMgydF4y2Ba模型对象。模型显示显示模型属性的部分列表。若要查看完整的属性列表,请双击变量名gydF4y2BaMdlgydF4y2Ba在工作区中。打开变量编辑器gydF4y2BaMdlgydF4y2Ba.或者,您可以使用点表示法在命令窗口中显示属性。例如,显示的类顺序gydF4y2BaMdlgydF4y2Ba.gydF4y2Ba

    classOrder = Mdl。一会gydF4y2Ba
    classOrder =gydF4y2Ba2 x1细胞gydF4y2Ba{b} {' g '}gydF4y2Ba

    对第一次观察到的训练数据进行分类,并绘制训练数据中各项的局部效应gydF4y2BaMdlgydF4y2Ba关于预测。gydF4y2Ba

    label =预测(Mdl,X(1,:))gydF4y2Ba
    标签=gydF4y2Ba1x1单元阵列gydF4y2Ba{' g '}gydF4y2Ba
    : plotLocalEffects (Mdl X (1))gydF4y2Ba

    图中包含一个轴对象。标题为Local Effects Plot的axes对象包含一个类型为bar的对象。gydF4y2Ba

    的gydF4y2Ba预测gydF4y2Ba函数对第一个观测值进行分类gydF4y2BaX (1:)gydF4y2Ba作为gydF4y2Ba‘g’gydF4y2Ba.的gydF4y2BaplotLocalEffectsgydF4y2Ba函数创建了一个水平柱状图,显示了10个最重要的术语对预测的局部影响。每个局部效应值表示每个术语对分类分数的贡献gydF4y2Ba‘g’gydF4y2Ba,即该分类的后验概率的logitgydF4y2Ba‘g’gydF4y2Ba为了观察。gydF4y2Ba

    用三种不同的方式训练一个包含预测因子线性和交互项的广义加法模型:gydF4y2Ba

    • 属性指定交互术语gydF4y2Ba公式gydF4y2Ba输入参数。gydF4y2Ba

    • 指定gydF4y2Ba“互动”gydF4y2Ba名称-值参数。gydF4y2Ba

    • 方法先用线性项构建模型,并向模型中添加交互项gydF4y2BaaddInteractionsgydF4y2Ba函数。gydF4y2Ba

    加载费雪的虹膜数据集。创建一个包含versicolor和virginica观察结果的表。gydF4y2Ba

    负载gydF4y2BafisheririsgydF4y2BaInds = strcmp(物种,gydF4y2Ba“多色的”gydF4y2Ba) | strcmp(物种,gydF4y2Ba“virginica”gydF4y2Ba);TBL = array2table(meas(inds,:)),gydF4y2Ba“VariableNames”gydF4y2Ba, (gydF4y2Ba“x1”gydF4y2Ba,gydF4y2Ba“x2”gydF4y2Ba,gydF4y2Ba“x3”gydF4y2Ba,gydF4y2Ba“x4”gydF4y2Ba]);资源描述。Y=species(inds,:);

    指定gydF4y2Ba公式gydF4y2Ba

    训练包含四个线性项的GAM (gydF4y2Bax1gydF4y2Ba,gydF4y2Bax2gydF4y2Ba,gydF4y2Bax3gydF4y2Ba,gydF4y2Bax4gydF4y2Ba)和两个交互项(gydF4y2Bax1 * x2gydF4y2Ba而且gydF4y2Bax2 * x3gydF4y2Ba).使用表单中的公式指定术语gydF4y2Ba“Y ~项”gydF4y2Ba.gydF4y2Ba

    Mdl1 = fitccam (tbl,gydF4y2Ba'Y ~ x1 + x2 + x3 + x4 + x1:x2 + x2:x3'gydF4y2Ba);gydF4y2Ba

    该函数按照重要性的顺序将交互项添加到模型中。您可以使用gydF4y2Ba的相互作用gydF4y2Ba属性检查模型中的交互项及其顺序gydF4y2BafitcgamgydF4y2Ba将它们添加到模型中。显示gydF4y2Ba的相互作用gydF4y2Ba财产。gydF4y2Ba

    Mdl1。的相互作用gydF4y2Ba
    ans =gydF4y2Ba2×2gydF4y2Ba2 3 1 2gydF4y2Ba

    每行gydF4y2Ba的相互作用gydF4y2Ba表示一个交互项,并包含该交互项的预测变量的列索引。gydF4y2Ba

    指定gydF4y2Ba“互动”gydF4y2Ba

    传递培训数据(gydF4y2Ba资源描述gydF4y2Ba)和响应变量的名称gydF4y2Ba资源描述gydF4y2Ba来gydF4y2BafitcgamgydF4y2Ba,使函数包含所有其他变量的线性项作为预测因子。指定gydF4y2Ba“互动”gydF4y2Ba使用逻辑矩阵来包含两个交互项的名称-值参数,gydF4y2Bax1 * x2gydF4y2Ba而且gydF4y2Bax2 * x3gydF4y2Ba.gydF4y2Ba

    Mdl2 = fitccam (tbl,gydF4y2Ba“Y”gydF4y2Ba,gydF4y2Ba“互动”gydF4y2Ba,逻辑([1 1 0 0;0 1 1 0]));Mdl2。的相互作用gydF4y2Ba
    ans =gydF4y2Ba2×2gydF4y2Ba2 3 1 2gydF4y2Ba

    你也可以指定gydF4y2Ba“互动”gydF4y2Ba作为相互作用项的数量或gydF4y2Ba“所有”gydF4y2Ba包括所有可用的交互术语。在指定的交互条件中,gydF4y2BafitcgamgydF4y2Ba识别那些gydF4y2BapgydF4y2Ba-values不大于gydF4y2Ba“MaxPValue”gydF4y2Ba值并将它们添加到模型中。默认的gydF4y2Ba“MaxPValue”gydF4y2Ba为1,以便函数将所有指定的交互项添加到模型中。gydF4y2Ba

    指定gydF4y2Ba“互动”、“所有”gydF4y2Ba并设置gydF4y2Ba“MaxPValue”gydF4y2Ba名称-值参数为0.01。gydF4y2Ba

    (tbl;gydF4y2Ba“Y”gydF4y2Ba,gydF4y2Ba“互动”gydF4y2Ba,gydF4y2Ba“所有”gydF4y2Ba,gydF4y2Ba“MaxPValue”gydF4y2Ba, 0.01);Mdl3。的相互作用gydF4y2Ba
    ans =gydF4y2Ba5×2gydF4y2Ba3 4 2 4 1 4 2 3 1 3gydF4y2Ba

    Mdl3gydF4y2Ba包括六对可用交互术语中的五对。gydF4y2Ba

    使用gydF4y2BaaddInteractionsgydF4y2Ba函数gydF4y2Ba

    训练一个包含预测因子线性项的单变量GAM,然后使用gydF4y2BaaddInteractionsgydF4y2Ba函数。指定的第二个输入参数gydF4y2BaaddInteractionsgydF4y2Ba以同样的方式指定gydF4y2Ba“互动”gydF4y2Ba的名称-值参数gydF4y2BafitcgamgydF4y2Ba.您可以使用逻辑矩阵指定交互术语的列表、交互术语的数量或gydF4y2Ba“所有”gydF4y2Ba.gydF4y2Ba

    指定交互项的数量为5,将5个最重要的交互项添加到训练的模型中。gydF4y2Ba

    Mdl4 = fitccam (tbl,gydF4y2Ba“Y”gydF4y2Ba);UpdatedMdl4 = addInteractions(Mdl4,5);UpdatedMdl4。的相互作用gydF4y2Ba
    ans =gydF4y2Ba5×2gydF4y2Ba3 4 2 4 1 4 2 3 1 3gydF4y2Ba

    Mdl4gydF4y2Ba是单变量GAM,和gydF4y2BaUpdatedMdl4gydF4y2Ba是一个更新的GAM,包含了所有的条款gydF4y2BaMdl4gydF4y2Ba还有另外五个相互作用项。gydF4y2Ba

    训练一个单变量分类GAM(它只包含线性项)进行少量迭代。在对模型进行多次迭代训练后,比较再替换损失。gydF4y2Ba

    加载gydF4y2Ba电离层gydF4y2Ba数据集。该数据集有34个预测器和351个雷达返回的二进制响应,要么是坏的(gydF4y2Ba“b”gydF4y2Ba)或好(gydF4y2Ba‘g’gydF4y2Ba).gydF4y2Ba

    负载gydF4y2Ba电离层gydF4y2Ba

    训练一个单变量GAM,识别雷达返回是否不良(gydF4y2Ba“b”gydF4y2Ba)或好(gydF4y2Ba‘g’gydF4y2Ba).指定每个线性项的树数为2。gydF4y2BafitcgamgydF4y2Ba为指定的迭代次数迭代增强算法。对于每次增强迭代,函数为每个线性项添加一个树。指定gydF4y2Ba“详细”gydF4y2BaAs 2在每次迭代中显示诊断消息。gydF4y2Ba

    Mdl = fitccam (X,Y,gydF4y2Ba“NumTreesPerPredictor”gydF4y2Ba2,gydF4y2Ba“详细”gydF4y2Ba2);gydF4y2Ba
    |========================================================| | 类型| NumTrees |异常| RelTol | LearnRate  | |========================================================| | 1 d | 0 | 486.59 | - | - | | 1 d | 1 | 166.71 |正| 1 | | 1 d | 2 | 78.336 | 0.58205 | 1 |gydF4y2Ba

    检查是否gydF4y2BafitcgamgydF4y2Ba火车指定数量的树,显示gydF4y2BaReasonForTerminationgydF4y2Ba属性,并查看显示的消息。gydF4y2Ba

    Mdl。ReasonForTerminationgydF4y2Ba
    ans =gydF4y2Ba带字段的结构:gydF4y2BaPredictorTrees: '在训练了要求数量的树后终止。'InteractionTrees:“gydF4y2Ba

    计算训练数据的分类损失。gydF4y2Ba

    resubLoss (Mdl)gydF4y2Ba
    Ans = 0.0142gydF4y2Ba

    恢复对模型的训练,再进行100次迭代。因为gydF4y2BaMdlgydF4y2Ba只包含线性项,则gydF4y2Ba重新开始gydF4y2Ba函数恢复线性项的训练,并为它们添加更多的树(预测树)。指定gydF4y2Ba“详细”gydF4y2Ba而且gydF4y2Ba“NumPrint”gydF4y2Ba每10次迭代显示一次诊断消息。gydF4y2Ba

    UpdatedMdl = resume(Mdl,100,gydF4y2Ba“详细”gydF4y2Ba,1,gydF4y2Ba“NumPrint”gydF4y2Ba10);gydF4y2Ba
    |========================================================| | 类型| NumTrees |异常| RelTol | LearnRate  | |========================================================| | 1 d | 0 | 78.336 | - | - | | 1 d | 1 | 38.364 | 0.17429 | 1 | | 1 d | 10 | 0.16311 | 0.011894 | 1 | | 1 d | 20 | 0.00035693 | 0.0025178 | 1 | | 1 30 d | | 8.1191 e-07 | 0.0011006 | 1 | | 1 d e-09 40 | | 1.7978 | 0.00074607 | 1 | | 1 d e-12 50 | | 3.6113 | 0.00034404 | 1 | | 1 d 60 e-13 | 1.7497 | 0.00016541 | | 1 |gydF4y2Ba
    UpdatedMdl。ReasonForTerminationgydF4y2Ba
    ans =gydF4y2Ba带字段的结构:gydF4y2BaPredictorTrees:“无法改善模型拟合。”InteractionTrees:“gydF4y2Ba

    重新开始gydF4y2Ba当添加更多的树时终止训练并不能改善模型拟合的偏差。gydF4y2Ba

    使用更新后的模型计算分类损失。gydF4y2Ba

    resubLoss (UpdatedMdl)gydF4y2Ba
    Ans = 0gydF4y2Ba

    之后分类损失减小gydF4y2Ba重新开始gydF4y2Ba用更多的迭代更新模型。gydF4y2Ba

    更多关于gydF4y2Ba

    全部展开gydF4y2Ba

    参考文献gydF4y2Ba

    卢、尹、里奇·卡鲁阿纳和约翰内斯·格尔克。分类与回归的可解模型gydF4y2Ba第18届ACM SIGKDD知识发现和数据挖掘国际会议论文集(KDD ' 12)。gydF4y2Ba中国北京:ACM出版社,2012,页150-158。gydF4y2Ba

    Lou, Yin, Rich Caruana, Johannes Gehrke和Giles Hooker。“精确可解模型与成对交互。”gydF4y2Ba第19届ACM SIGKDD知识发现和数据挖掘国际会议论文集gydF4y2Ba芝加哥,伊利诺伊州,美国:ACM出版社,2013,pp. 623-631。gydF4y2Ba

    版本历史gydF4y2Ba

    R2021a中引入gydF4y2Ba