主要内容

预测

使用广义添加剂模型(GAM)进行分类观察

    描述

    示例

    标签=预测(MDL.X.返回矢量的矢量预测类标签对于表或矩阵中的预测器数据X.,基于广义可加性模型MDL.对于二进制分类。训练的模型可以是完整的,也可以是紧凑的。

    对于每一个X.,预测类标签对应于最小值预期错误分类成本

    示例

    标签=预测(MDL.X.“IncludeInteractions”,internate interaction.指定是否包括计算中的交互术语。

    示例

    [标签) =预测(___还使用先前语法中的任何输入参数组合返回分类分数。

    例子

    崩溃

    使用训练样品训练广义添加剂模型,然后标记测试样品。

    加载渔民数据集。创造X.作为包含versicolor和Virginica Irises的萼片和花瓣测量的数字矩阵。创造y作为包含相应的IRIS物种的字符向量的单元阵列。

    加载渔民第1 = strcmp(物种,'versicolor') | strcmp(物种,“virginica”);x = meas(inds,:);Y =物种(Inds,:);

    随机分区观察到培训集和使用类信息的分层进行测试集y.指定30%HoldOut样本进行测试。

    rng (“默认”%的再现性cv = cvpartition(y,'持有',0.30);

    提取培训和测试指数。

    训练=训练(简介);testinds =测试(CV);

    指定培训和测试数据集。

    xtrain = x(训练,:);ytrain = y(训练器);xtest = x(testinds,:);ytest = y(testinds);

    用预测器训练一个广义的可加性模型XTrain.和班级标签ytrain..推荐的做法是指定类名。

    mdl = fitcgam(Xtrain,Ytrain,“类名”,{'versicolor'“virginica”})
    MDL = ClassificationGam RecordingEname:'y'类分类预测器:[] ClassNames:{Versicolor''virginica'} ScoreTransform:'Logit'拦截:-1.1090 numObservations:70属性,方法

    MDL.是一个ClassificationGAM模型对象。

    预测测试样品标签。

    标签=预测(Mdl XTest);

    创建一个包含真实标签和预测标签的表。显示一个随机的10个观察的表。

    t =表(欧美、标签、'variablenames',{'真品'“预测标签”});IDX = RANDSAMPLE(SUM(TESTINDS),10);t(idx,:)
    ans =10×2表真正的标签预测标签  ______________ _______________ {' virginica’}{‘virginica}{‘virginica}{‘virginica}{“癣”}{‘virginica}{‘virginica}{‘virginica}{‘virginica}{‘virginica}{“癣”}{“癣”}{“癣”}{“癣”}{“癣”}{“癣”}{“癣”}{“癣”}{' virginica '}{' virginica '}

    从真正的标签创建混淆图表ytest.和预测的标签标签

    CM = ConfusionChart(Yest,Label);

    Figure包含一个confusimatrixchart类型的对象。

    使用包含预测器的线性和交互条款的分类GAM来估计后验概率的后概率。使用内存有效的模型对象对新的观测进行分类。指定在分类新观察时是否包括交互术语。

    加载电离层数据集。此数据集具有34个预测器和351个雷达返回的二进制响应,无论是坏的吗('B')或好(‘g’)。

    加载电离层

    将数据集划分为两个集:一个包含训练数据,另一个包含新的、未观察到的测试数据。为新的测试数据集保留10个观测值。

    rng (“默认”%的再现性n =尺寸(x,1);newinds = randsample(n,10);inds =〜ismember(1:n,newinds);xnew = x(newinds,:);ynew = y(newinds);

    使用预测器训练游戏X.和班级标签y.推荐的做法是指定类名。指定包含10个最重要的交互条款。

    mdl = fitcgam(x(inds,:),y(inds),“类名”,{'B'‘g’},'互动'10);

    MDL.是一个ClassificationGAM模型对象。

    通过减少训练模型的大小来节省内存。

    cmdl = compact(mdl);Whos(“Mdl”'cmdl'
    名称大小字节类属性cmdl 1x1 1081082 classreg.learning.classif.compactclassificationgam mdl 1x1 1282640 Classificationgam

    CMDL.是一个CompactClassificationgam.模型对象。

    使用线性和交互术语预测标签,然后仅使用线性术语。要排除交互术语,请指定'internalidantaction',false.通过指定,估计后验概率的对数ScoreTransform财产'没有'

    cmdl.scoretransform ='没有';(标签、分数)=预测(CMdl XNew);[labels_nointeraction, scores_nointeraction] =预测(CMdl XNew,'internalideraction'、假);t =表(YNew、标签分数,labels_nointeraction scores_nointeraction,......'variablenames',{“真正的标签”'预测标签''分数'......'没有互动的预测标签'的分数没有相互作用的})
    t =10×5表真正的标签预测标签在没有互动的情况下进行预测的标签,没有互动分数___________ _________________________________________________________________________30.23 {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} {'g'} -40.23 40.23 {'g'} {'g'} -40.23 40.23 {'g'} -4121541.215 {'g'} -38.737 38.737 {'g'} {'g'} {'g'} {'g'} -44.413 44.413 {'g'} -42.186 42.186 {'b'} {'b'} 3.0658 -3.0658 {'b'} 1.4338  -1.4338 {'g'} {'g'} -84.637 84.637 {'g'} -81.269 81.269 {'g'} {'g'} -27.44 27.44 {'g'} -24.831 24.831 {'g'} {'G'} -62.989 62.989 {'g'} -60.4 60.4 {'g'} {'g'} {'g'} -77.109 77.109 {'g'} -75.937 75.937 {'g'} {'g'} {'g'} -48.519 48.519 {''g'} -47.067 47.067 {'g'} {'g'} -56.256 56.256 {'g'} -53.373 53.373

    测试数据的预测标签Xnew.不因包含交互项而有所不同,但估计得分值是不同的。

    训练广义添加剂模型,然后使用第一类的概率值绘制后验概率区域。

    加载渔民数据集。创造X.作为一个数字矩阵,其包含versicolor和Virginica Irises的两个花瓣测量。创造y作为包含相应的IRIS物种的字符向量的单元阵列。

    加载渔民第1 = strcmp(物种,'versicolor') | strcmp(物种,“virginica”);X = MEAS(INDS,3:4);Y =物种(Inds,:);

    用预测器训练一个广义的可加性模型X.和班级标签y.推荐的做法是指定类名。

    mdl = fitcgam(x,y,“类名”,{'versicolor'“virginica”});

    MDL.是一个ClassificationGAM模型对象。

    在观察到的预测器空间中定义一个值的网格。

    xMax = max (X);xMin = min (X);x1 = linspace (xMin (1) xMax (1), 250);xMax x2 = linspace (xMin (2), (2), 250);[x1Grid, x2Grid] = meshgrid (x1, x2);

    预测网格中每个实例的后验概率。

    [〜,posteriorregion] =预测(mdl,[x1grid(:),x2grid(:)]);

    使用第一类的概率值绘制后验概率区域'versicolor'

    h =分散(x11grid(:),x2grid(:),1,psteriorregion(:,1));H.Markeredgealpha = 0.3;

    绘制培训数据。

    holdgh = gscatter (X (: 1), X (:, 2), Y,“k”'dx');标题(“虹膜花瓣的测量和后验概率”)xlabel('花瓣长度(cm)')ylabel(“花瓣宽度(cm)”)传奇(GH,'位置'“最好”)Colorbar Hold.关闭

    图中包含一个坐标轴。标题为虹膜瓣测量和后验概率的坐标轴包含3个类型为散点、线的对象。这些物品代表着五彩缤纷的弗吉尼亚。

    输入参数

    崩溃

    广义可加性模型,指定为ClassificationGAM或者CompactClassificationgam.模型对象。

    预测数据,指定为数字矩阵或表。

    每一排X.对应一个观察值,每一列对应一个变量。

    • 对于数字矩阵:

      • 构成列的变量X.必须具有与培训的预测变量相同的顺序MDL.

      • 如果你训练有素MDL.那就用表格吧X.如果表包含所有数字预测变量,则可以是数字矩阵。

    • 一个表:

      • 如果你训练有素MDL.使用表格(例如,资源描述),然后所有预测变量X.必须具有与那些相同的变量名称和数据类型资源描述.但是,的列顺序X.不需要对应于列顺序资源描述

      • 如果你训练有素MDL.使用一个数字矩阵,然后预测器命名mdl.predictornames.和相应的预测变量名称X.肯定是一样的。要在训练期间指定预测器名称,请使用'predictornames'名称值参数。所有预测因子变量X.必须是数字向量。

      • X.可以包含其他变量(响应变量,观察权重等),但是预测忽略它们。

      • 预测不支持字符向量的单万博1manbetx元格阵列以外的多列变量或单元格阵列。

    数据类型:表格||单身

    标记以包含模型的交互术语,指定为真实或者

    默认值internate interaction.价值是真实如果MDL.包含交互术语。价值必须是如果模型不包含交互术语。

    数据类型:逻辑

    输出参数

    崩溃

    预测类标签,作为分类或字符阵列,逻辑或数字向量或字符向量的单元数组返回。

    如果mdl.scoretransform.'logit'(默认),然后每个条目标签对应于最小的类预期错误分类成本对应的行X..否则,每一项都对应于分数最高的班级。

    标签具有与培训的观察类标签相同的数据类型MDL.,其长度等于行的数量X.(该软件将字符串数组视为字符向量的单元格阵列。)

    预测的后验概率或类别分数,作为双列数字矩阵,具有相同的行数为X..的第一和第二列包含第一类(或负类,mdl.classnames(1))和第二级(或正班,mdl.classnames(2))分别为相应观察的评分值。

    如果mdl.scoretransform.'logit'(默认),则得分值为后验概率。如果mdl.scoretransform.'没有',然后分数值是后验概率的登录。该软件提供了多个内置的分数转换功能。有关更多详细信息,请参阅ScoreTransform财产MDL.

    您可以通过指定来更改分数转换'scoretransform'的观点Fitcgam.在培训期间,或改变ScoreTransform培训后财产。

    更多关于

    崩溃

    预测类标签

    预测通过最小化预期的错误分类成本来分类:

    y ^ = arg y = 1 ...... K. σ. j = 1 K. P. ^ j | X. C. y | j

    在哪里:

    • y ^ 是预测的分类。

    • K.是课程的数量。

    • P. ^ j | X. 是类的后验概率吗j为观察X.

    • C. y | j 对观察进行分类的成本是y当它的真实课程是j

    预期错误分类成本

    每次观察的预期错误分类成本是将观察分类到每个班级的平均成本。

    假设你有谈判观察到您想要与培训的分类器分类,并且您有K.课程。您将观察结果放入矩阵中X.每行一个观察。

    预期成本矩阵ce有规模谈判——- - - - - -K..每一排ce包含将观察分类为每个的预期(平均)成本K.课程。CE(NK.

    σ. = 1 K. P. ^ | X. N C. K. |

    在哪里:

    • K.是课程的数量。

    • P. ^ | X. N 是类的后验概率吗为观察X.N)。

    • C. K. | 是分类观察的真正错误分类成本K.当它的真实课程是

    真正的误分类代价

    真正的错误分类成本是将观察分类为不正确的类别的成本。

    您可以使用每类设置真正的错误分类成本'费用'创建分类器时的名称值参数。成本(i,j)是对课堂分类的成本j当它的真实课程是.默认情况下,成本(i, j) = 1如果我~ = j,和成本(i, j) = 0如果我= J..换句话说,成本是0.正确分类和1对于不正确的分类。

    在R2021A介绍