主要内容

预测

从线性增量学习模型预测反应的新观察

描述

例子

标签=预测(Mdl,X)返回预测反应(或标签)标签观察的预测数据X从增量学习模型Mdl

例子

标签=预测(Mdl,X“ObservationsIn”,)指定观察维度的预测数据“行”(默认)或“列”。例如,指定“ObservationsIn”、“列”面向在预测表明,观测数据的列X

例子

(标签,分数)=预测(___)同样的回报分类的分数对所有类Mdl是一个增量学习模型分类,使用任何输入参数组合在前面的语法。

例子

全部折叠

载入人类活动数据集。

负载humanactivity

细节的数据集,输入描述在命令行中。

响应可以是五类:坐着,站着,散步,跑步,或者跳舞。二分响应通过识别主题是否移动(actid> 2)。

Y = actid > 2;

适合一个线性分类模型对整个数据集。

TTMdl = fitclinear(壮举,Y)
TTMdl = ClassificationLinear ResponseName:“Y”类名:[0 1]ScoreTransform:“没有一个”测试:[60 x1双]偏见:-0.2005λ:4.1537 e-05学习者:“支持向量机”属性,方法

TTMdl是一个ClassificationLinear模型对象代表了一个传统上训练有素的线性分类模型。

传统训练线性分类模型转换为一个二进制分类线性模型的增量学习。

IncrementalMdl = incrementalLearner (TTMdl)
IncrementalMdl = incrementalClassificationLinear IsWarm: 1指标:[1 x2表]一会:[0 1]ScoreTransform:“没有一个”测试:[60 x1双]偏见:-0.2005学习者:“支持向量机”属性,方法

IncrementalMdl是一个incrementalClassificationLinear模型对象准备使用SVM增量学习。

  • incrementalLearner函数初始化增量学习者通过学习系数,以及其他信息TTMdl从训练数据。

  • IncrementalMdl是温暖的IsWarm1),这意味着可以开始跟踪性能指标增量学习功能。

  • incrementalLearner配置模型被训练使用自适应尺度不变的解决者,而fitclinear训练有素的TTMdl利用高炉煤气解算器

增量学习者从转换创建一个传统训练模型可以生成预测没有进一步处理。

所有观测使用这两种模型预测类标签。

ttlabels =预测(TTMdl壮举);illables =预测(IncrementalMdl壮举);sameLabels =总和(ttlabels ~ = illables) = = 0
sameLabels =逻辑1

为每个观察两个模型预测相同的标签。

如果你东方观察预测数据矩阵的列,你可以体验一个在增量学习效率提高。

负载和洗牌2015年纽约市住房数据集。更多细节数据,看看纽约市公开的数据

负载NYCHousing2015rng (1)%的再现性n =大小(NYCHousing2015, 1);shuffidx = randsample (n, n);NYCHousing2015 = NYCHousing2015 (shuffidx:);

提取反应变量SALEPRICE从表中。运用对数变换SALEPRICE

日志(NYCHousing2015 Y =。SALEPRICE + 1);%避免日志加1 0NYCHousing2015。SALEPRICE = [];

创建虚拟变量分类预测矩阵。

catvars = [“区”“BUILDINGCLASSCATEGORY”“社区”];dumvarstbl = varfun (@ (x) dummyvar(分类(x)), NYCHousing2015,“数据源”,catvars);dumvarmat = table2array (dumvarstbl);NYCHousing2015 (:, catvars) = [];

对所有其他表中的数值变量的线性预测销售价格。连接矩阵的虚变量的预测数据,和转置数据加速计算。

idxnum = varfun (@isnumeric NYCHousing2015,“OutputFormat”,“统一”);X = [dumvarmat NYCHousing2015 {:, idxnum}] ';

配置增量学习没有估计的线性回归模型。

Mdl = incrementalRegressionLinear (“学习者”,“leastsquares”,“EstimationPeriod”,0);

Mdl是一个incrementalRegressionLinear模型对象。

执行增量学习和预测为每次迭代遵循这个过程:

  • 模拟数据流处理一块100年的观察。

  • 符合模型传入的数据块。指定的观测是面向列的数据。覆盖前面的增量模型和新模型。

  • 使用拟合模型和预测响应传入的数据块。指定的观测是面向列的数据。

%预先配置numObsPerChunk = 100;n =元素个数(Y);nchunk =地板(n / numObsPerChunk);r =南(n, 1);图h =情节(r);h。YDataSource =“r”;ylabel (“残差”)包含(“迭代”)%增量式拟合j = 2: nchunk ibegin = min (n, numObsPerChunk * (j - 1) + 1);iend = min (n, numObsPerChunk * j);idx = ibegin: iend;Mdl =适合(Mdl X (:, idx), Y (idx),“ObservationsIn”,“列”);yhat =预测(Mdl X (:, idx),“ObservationsIn”,“列”);r (idx) = Y (idx)——yhat;refreshdata drawnow结束

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

Mdl是一个incrementalRegressionLinear模型对象培训中的所有数据流。

残差出现对称遍布0在增量学习。

计算后验概率类,指定一个逻辑回归增量学习。

载入人类活动数据集。随机洗牌数据。

负载humanactivityn =元素个数(actid);rng (10);%的再现性idx = randsample (n, n);X =壮举(idx:);Y = actid (idx);

细节的数据集,输入描述在命令行中。

响应可以是五类:坐着,站着,散步,跑步,或者跳舞。二分响应通过识别主题是否移动(actid> 2)。

Y = Y > 2;

创建一个增量为二进制分类logistic回归模型。它准备预测通过指定类名和任意系数和偏差值。

p =大小(X, 2);β= randn (p, 1);偏见= randn (1);Mdl = incrementalClassificationLinear (“学习者”,“物流”,“β”,β,“偏见”偏见,“类名”,独特的(Y));

Mdl是一个incrementalClassificationLinear模型。所有的属性是只读的。而不是指定任意值,您可以采取这些行动准备模型:

  • 火车二进制的逻辑回归模型分类使用fitclinear在数据的一个子集(如果有的话),然后将模型转换为一个增量学习者通过使用incrementalLearner

  • 逐步适应Mdl通过使用数据适合

模拟数据流,并执行以下行动在每个传入的50块的观察。

  1. 调用预测预测分类观察评分传入的数据块。分类分数后类概率逻辑回归的学习者。

  2. 调用rocmetrics计算ROC曲线下的面积(AUC)使用传入的数据块,并存储结果。

  3. 调用适合以适应模型的一部分。覆盖前面的增量式模型与一个新安装的观察。

numObsPerChunk = 50;nchunk =地板(n / numObsPerChunk);auc = 0 (nchunk, 1);%增量学习j = 1: nchunk ibegin = min (n, numObsPerChunk * (j - 1) + 1);iend = min (n, numObsPerChunk * j);idx = ibegin: iend;[~,posteriorProb] =预测(Mdl X (idx:));rocObj = rocmetrics (Y (idx), posteriorProb Mdl.ClassNames);auc (j) = rocObj.AUC (1);Mdl =适合(Mdl X (idx:), Y (idx));结束

Mdl是一个incrementalClassificationLinear模型对象培训中的所有数据流。

情节上的AUC传入的数据块。

情节(auc) ylabel (“AUC”)包含(“迭代”)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

情节表明,该分类器预测移动对象在增量学习。

输入参数

全部折叠

增量学习模型,指定为一个incrementalClassificationLinearincrementalRegressionLinear模型对象。您可以创建Mdl直接或通过转换支持,传统上使用训练有素的机器学习模型金宝appincrementalLearner函数。更多细节,请参阅相应的引用页面。

您必须配置Mdl为一批观察预测标签。

  • 如果Mdl是一个转变,传统的训练模式,你可以预测标签没有任何修改。

  • 否则,Mdl必须满足以下条件,您可以指定直接或通过拟合Mdl使用的数据适合updateMetricsAndFit

    • 如果Mdl是一个incrementalRegressionLinear模型,其模型系数Mdl.Beta和偏见Mdl.Bias必须非空的数组。

    • 如果Mdl是一个incrementalClassificationLinear模型,其模型系数Mdl.Beta和偏见Mdl.Bias必须非空的数组和类名Mdl.ClassNames必须包含两个类。

    • 不管对象类型,如果您配置模型函数标准化预测数据,预测手段Mdl.Mu和标准偏差Mdl.Sigma必须非空的数组。

批处理的预测数据来预测标签,指定为一个浮点矩阵n观察和Mdl.NumPredictors预测变量。的价值确定变量和观测的方向。

请注意

预测金宝app只支持浮点输入预测数据。如果你的输入数据包括分类数据,您必须准备一个编码版本的分类数据。使用dummyvar每个分类变量转换为一个数字矩阵的虚变量。然后,连接所有哑变量矩阵和任何其他数值预测。更多细节,请参阅虚拟变量

数据类型:|

预测数据观察维度,指定为“列”“行”

例子:“ObservationsIn”、“列”

数据类型:字符|字符串

输出参数

全部折叠

预测反应(标签),作为分类或返回字符数组;浮点、逻辑或字符串向量;或细胞阵列的特征向量n行。n观察的数量吗X,标签(j)是观察预期的反应了吗j

  • 对于分类问题,标签具有相同的数据类型的类名称存储在吗Mdl.ClassNames(软件对字符串数组作为细胞阵列特征向量)。

  • 对于回归问题,标签是一个浮点向量。

分类的分数,作为一个返回n2浮点矩阵时Mdl是一个incrementalClassificationLinear模型。n观察的数量吗X评分(j,k)分类观察分数吗j成类kMdl.ClassNames指定类的顺序。

如果Mdl.Learner“支持向量机”,预测返回原始分类的分数。如果Mdl.Learner“物流”、分类分数是后验概率。

更多关于

全部折叠

分类分

为二进制线性增量学习模型分类、原始分类分分类的观察x一个行向量,到积极的类

f ( x ) = β 0 + x β ,

在哪里

  • β0是标量的偏见Mdl.Bias

  • β列向量的系数Mdl.Beta

原始的分类分分类x到负类f(x)。软件将观察分为类,产生积极的分数。

如果逻辑回归的线性分类模型由学习者,那么软件应用分对数的分数转换原始分类的分数。

扩展功能

版本历史

介绍了R2020b