预测
从线性增量学习模型预测反应的新观察
描述
例子
预测类标签
载入人类活动数据集。
负载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
是温暖的IsWarm
是1
),这意味着可以开始跟踪性能指标增量学习功能。的
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块的观察。
调用
预测
预测分类观察评分传入的数据块。分类分数后类概率逻辑回归的学习者。调用
rocmetrics
计算ROC曲线下的面积(AUC)使用传入的数据块,并存储结果。调用
适合
以适应模型的一部分。覆盖前面的增量式模型与一个新安装的观察。
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”)包含(“迭代”)
情节表明,该分类器预测移动对象在增量学习。
输入参数
Mdl
- - - - - -增量学习模型
incrementalClassificationLinear
模型对象|incrementalRegressionLinear
模型对象
增量学习模型,指定为一个incrementalClassificationLinear
或incrementalRegressionLinear
模型对象。您可以创建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
必须非空的数组。
维
- - - - - -预测数据观察维度
“行”
(默认)|“列”
预测数据观察维度,指定为“列”
或“行”
。
例子:“ObservationsIn”、“列”
数据类型:字符
|字符串
输出参数
标签
——预测反应(标签)
分类数组|字符数组向量| | |字符串向量逻辑单元阵列特征向量的|浮点向量
预测反应(标签),作为分类或返回字符数组;浮点、逻辑或字符串向量;或细胞阵列的特征向量n行。n观察的数量吗X
,标签(
是观察预期的反应了吗j
)
。j
对于分类问题,
标签
具有相同的数据类型的类名称存储在吗Mdl.ClassNames
。(软件对字符串数组作为细胞阵列特征向量)。对于回归问题,
标签
是一个浮点向量。
更多关于
分类分
为二进制线性增量学习模型分类、原始分类分分类的观察x一个行向量,到积极的类
在哪里
β0是标量的偏见
Mdl.Bias
。β列向量的系数
Mdl.Beta
。
原始的分类分分类x到负类f(x)。软件将观察分为类,产生积极的分数。
如果逻辑回归的线性分类模型由学习者,那么软件应用分对数的
分数转换原始分类的分数。
扩展功能
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
使用笔记和限制:
使用
saveLearnerForCoder
,loadLearnerForCoder
,codegen
(MATLAB编码器)生成的代码预测
函数。通过使用保存训练模型saveLearnerForCoder
。定义一个入口点函数,通过使用加载保存模型loadLearnerForCoder
并调用预测
函数。然后使用codegen
入口点函数来生成代码。生成单精度C / c++代码
预测
,指定名称参数“数据类型”、“单身”
当你打电话给loadLearnerForCoder
函数。此表包含的参数
预测
。参数不包括在这个表是完全支持。金宝app论点 笔记和局限性 Mdl
使用notes和限制的模型对象,明白了
incrementalClassificationLinear
或incrementalRegressionLinear
。X
批次,观测变量的大小。
预测变量的数目必须相等
Mdl.NumPredictors
。X
必须单
或双
。
以下限制:
如果您配置
Mdl
洗牌数据(Mdl.Shuffle
是真正的
,或Mdl.Solver
是“sgd”
或“asgd”
),预测
函数随机打乱每个传入批观测之前,适合批量模型。的顺序打乱观察MATLAB生成的顺序可能不匹配®。因此,如果你健康Mdl
之前生成的预测,预测计算在MATLAB计算生成的代码可能不相等。使用齐次所有浮点数据类型的输入参数和对象属性,具体地说,
单
或双
。
有关更多信息,请参见介绍代码生成。
版本历史
MATLAB명령
다음MATLAB명령에해당하는링크를클릭했습니다。
명령을실행하려면MATLAB명령창에입력하십시오。웹브라우저는MATLAB명령을지원하지않습니다。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。