ClassificationPartitionedLinear
包:classreg.learning.partition
超类:ClassificationPartitionedModel
旨在为二进制线性模型高维数据的分类
描述
ClassificationPartitionedLinear
是一组线性分类模型的训练旨在折叠。获得一个旨在,线性分类模型,使用fitclinear
并指定一个交叉验证选项。你可以估计的质量分类,或者如何推广的线性分类模型,使用一个或多个这些“kfold”方法:kfoldPredict
,kfoldLoss
,kfoldMargin
,kfoldEdge
。
每个“kfold”方法使用模型训练的观测预测out-of-fold观察的反应。例如,假设您旨在使用5折。在这种情况下,软件随机分配每个观测分成大致相等大小的五组。的培训褶皱包含四个组的(也就是说,约4/5的数据)和测试褶皱包含另一组(即约1/5的数据)。在这种情况下,交叉验证收益如下:
软件培训(存储在第一个模型
CVMdl.Trained {1}
)使用观察过去四组和储备第一组的观测验证。软件培训第二个模型,这是存储在
CVMdl.Trained {2}
使用观察第一组最后三组。软件保留在第二组观察验证。软件第三到五收益以类似的方式模型。
如果验证通过调用kfoldPredict
的观测,计算预测使用第一个模型组1,组2第二模式,等等。简而言之,每个观测使用的软件估计响应模型训练没有观察。
请注意
ClassificationPartitionedLinear
模型对象不存储预测数据集。
建设
CVMdl = fitclinear (X, Y,名称,值)
当创建了一个旨在,线性分类模型的名字
要么是“CrossVal”
,“CVPartition”
,“坚持”
,或“KFold”
。更多细节,请参阅fitclinear
。
属性
CrossValidatedModel
- - - - - -旨在模型名称
特征向量
旨在模型名称,指定为一个特征向量。
例如,“线性”
指定了一个旨在为二进制分类或回归线性模型。
数据类型:字符
KFold
- - - - - -许多旨在折叠
正整数
旨在折叠,指定为一个正整数。
数据类型:双
ModelParameters
- - - - - -交叉验证的参数值
对象
交叉验证参数值,例如,旨在使用名称-值对参数值的线性模型,指定为一个对象。ModelParameters
不包含估计参数。
访问的属性ModelParameters
使用点符号。
NumObservations
- - - - - -数量的观察
积极的数字标量
在训练数据的观察,指定为一个积极的数字标量。
数据类型:双
分区
- - - - - -数据分区
cvpartition
模型
数据分区显示软件将数据分为交叉验证折叠,如何指定为一个cvpartition
模型。
训练有素的
- - - - - -在交叉验证折叠线性分类模型的训练
单元阵列的ClassificationLinear
模型对象
线性分类模型的训练在交叉验证折叠,指定的单元阵列ClassificationLinear
模型。训练有素的
有k细胞,k是折叠的数量。
数据类型:细胞
W
- - - - - -观察权重
数值向量
观察权重模型,旨在使用指定为一个数值向量。W
有NumObservations
元素。
该软件可实现W
这样观察在一个特定的类的权重总结类的先验概率。
数据类型:单
|双
Y
- - - - - -观察到的类标签
分类数组|字符数组|逻辑向量|向量的数值|单元阵列的特征向量
指定的模型,观察类标签用于旨在作为一个类别或字符数组,逻辑或数值向量,或单元阵列的特征向量。Y
有NumObservations
元素,是相同的数据类型作为输入参数Y
你通过了fitclinear
该模型旨在。(软件对字符串数组作为细胞阵列特征向量)。
每一行的Y
代表观察到的分类预测相应的观测的数据。
数据类型:分类
|字符
|逻辑
|单
|双
|细胞
CategoricalPredictors
- - - - - -分类预测指标
向量的正整数|[]
分类预测指标,指定为一个向量的正整数。CategoricalPredictors
包含索引值表明相应的预测分类。索引值介于1和p
,在那里p
预测的数量被用来训练模型。如果所有的预测都直言,那么这个属性是空的([]
)。
数据类型:单
|双
一会
- - - - - -独特的类标签
分类数组|字符数组|逻辑向量|数值向量|单元阵列的特征向量
独特的类标签用于培训,指定为一个类别或字符数组,逻辑或数值向量,或单元阵列的特征向量。一会
具有相同的数据类型的类标签吗Y
。(软件对字符串数组作为细胞阵列特征向量)。一会
也决定了课堂秩序。
数据类型:分类
|字符
|逻辑
|单
|双
|细胞
成本
- - - - - -误分类代价
广场数字矩阵
这个属性是只读的。
误分类代价,指定为一个正方形数字矩阵。成本
有K行和列,K类的数量。
成本(
是一个指向类分类的成本我
,j
)j
如果它真正的类我
。的行和列的顺序成本
对应于类的顺序一会
。
数据类型:双
PredictorNames
- - - - - -预测的名字
单元阵列的特征向量
预测出他们名字的顺序出现在预测数据,指定为一个单元阵列的特征向量。的长度PredictorNames
等于在训练数据变量的数量X
或资源描述
作为预测变量。
数据类型:细胞
之前
- - - - - -前类概率
数值向量
这个属性是只读的。
类概率之前,指定为一个数值向量。之前
尽可能多的元素类一会
和元素的顺序对应的元素一会
。
数据类型:双
ResponseName
- - - - - -响应变量名
特征向量
响应变量名称,指定为一个特征向量。
数据类型:字符
ScoreTransform
- - - - - -分数转换函数
“doublelogit”
|“invlogit”
|“ismax”
|分对数的
|“没有”
|函数处理|……
分数转换函数适用于预测分数,指定为一个函数名或函数处理。
线性分类模型在转换之前,预测分类评分的观察x(行向量)f(x)=xβ+b,在那里β和b对应于Mdl.Beta
和Mdl.Bias
,分别。
改变分数转换函数,例如,函数
,使用点符号。
对于一个内置的函数,输入这个代码和替换
函数
表中的值。Mdl。ScoreTransform = '函数”;
价值 描述 “doublelogit”
1 / (1 +e2x) “invlogit”
日志(x/ (1 -x)) “ismax”
集类的分数最大的分数为1,并设置所有其他类的分数为0 “分对数”
1 / (1 +e- - - - - -x) “没有”
或“身份”
x(转换) “标志”
1x< 0
为0x= 0
1x> 0“对称”
2x- 1 “symmetricismax”
集合类的分数最大的分数为1,和所有其他类的分数设置为1 “symmetriclogit”
2 / (1 +e- - - - - -x)- 1 对于一个MATLAB®函数,或者您定义一个函数,输入函数处理。
Mdl。ScoreTransform = @函数;
函数
必须接受一个矩阵的原始分数为每个类,然后返回一个相同大小的矩阵表示为每一个类转换后的分数。
数据类型:字符
|function_handle
方法
kfoldEdge | 分类边观察不用于培训 |
kfoldLoss | 分类损失的观察中未使用培训 |
kfoldMargin | 分类利润率观察中未使用培训 |
kfoldPredict | 预测观察标签不用于培训 |
复制语义
价值。学习如何价值类影响复制操作,明白了复制对象。
例子
创建旨在二进制线性分类模型
加载NLP数据集。
负载nlpdata
X
是一个稀疏矩阵的预测数据,Y
是一个分类向量类的标签。有两个以上的类的数据。
确定对应的标签统计和机器学习工具箱™文档web页面。
Ystats = Y = =“统计数据”;
旨在一个二进制,线性分类模型,该模型可以确定是否这个词项在文档的web页面的统计和机器学习工具箱™文档。
rng (1);%的再现性Ystats CVMdl = fitclinear (X,“CrossVal”,“上”)
CVMdl = ClassificationPartitionedLinear CrossValidatedModel:“线性”ResponseName:“Y”NumObservations: 31572 KFold: 10个分区:[1 x1 cvpartition]类名:[0 1]ScoreTransform:“没有一个”属性,方法
CVMdl
是一个ClassificationPartitionedLinear
旨在模型。因为fitclinear
实现了10倍交叉验证默认情况下,CVMdl.Trained
包含十ClassificationLinear
模型包含训练线性分类的结果模型的折叠。
估计标签out-of-fold观察和估计泛化误差通过CVMdl
来kfoldPredict
和kfoldLoss
,分别。
oofLabels = kfoldPredict (CVMdl);通用电气= kfoldLoss (CVMdl)
通用电气(ge) = 7.6017 e-04
观察分类错误估计泛化误差小于0.1%。
找到好的套索惩罚使用交叉验证
确定好lasso-penalty强度线性分类模型,使用逻辑回归的学习者,实现5倍交叉验证。
加载NLP数据集。
负载nlpdata
X
是一个稀疏矩阵的预测数据,Y
是一个分类向量类的标签。有两个以上的类的数据。
模型应该确定是否这个词项在一个web页面的统计和机器学习工具箱™文档。所以,确定对应的标签统计和机器学习的工具箱™文档web页面。
Ystats = Y = =“统计数据”;
创建一组11对数间隔正则化的优势 通过 。
-0.5λ= logspace(6日,11);
旨在模型。提高执行速度,转置预测数据和指定列的观测。使用SpaRSA估计系数。降低目标函数的梯度的宽容1 e-8
。
X = X ';rng (10);%的再现性Ystats CVMdl = fitclinear (X,“ObservationsIn”,“列”,“KFold”5,…“学习者”,“物流”,“规划求解”,“sparsa”,“正规化”,“套索”,…“λ”λ,“GradientTolerance”1 e-8)
CVMdl = ClassificationPartitionedLinear CrossValidatedModel:“线性”ResponseName:“Y”NumObservations: 31572 KFold: 5分区:[1 x1 cvpartition]类名:[0 1]ScoreTransform:“没有一个”属性,方法
numCLModels =元素个数(CVMdl.Trained)
numCLModels = 5
CVMdl
是一个ClassificationPartitionedLinear
模型。因为fitclinear
实现5倍交叉验证,CVMdl
包含5ClassificationLinear
火车在每个折叠模型软件。
显示第一个训练有素的线性分类模型。
Mdl1 = CVMdl.Trained {1}
Mdl1 = ClassificationLinear ResponseName:“Y”类名:[0 1]ScoreTransform:分对数的β:[34023 x11双]偏见:[-13.2936 -13.2936 -13.2936 -13.2936 -13.2936 -6.8954 -5.4359 -4.7170 -3.4108 -3.1566 -2.9792]λ:[1.0000 5.6234 1.5849 4.4668 1.2589 3.5481 e-06 e-06 e-05 e-05 e-04 e-04 0.0020 0.0071 0.0251 0.0891 0.3162)学习者:“物流”属性,方法
Mdl1
是一个ClassificationLinear
模型对象。fitclinear
构造Mdl1
通过培训第一个4折。因为λ
是一个序列的正则化的优势,你能想到什么Mdl1
11岁的模型,每个正规化的力量在一个λ
。
估计旨在分类错误。
ce = kfoldLoss (CVMdl);
因为有11个正规化的优势,ce
是一个1-by-11向量的分类错误率。
更高的值λ
导致预测变量较少,这是一个很好的分类器的质量。对于每一个正规化的力量,训练使用整个数据集和一个线性分类模型旨在模型时相同的选项。确定数量的非零系数模型。
Mdl = fitclinear (X, Ystats“ObservationsIn”,“列”,…“学习者”,“物流”,“规划求解”,“sparsa”,“正规化”,“套索”,…“λ”λ,“GradientTolerance”1 e-8);numNZCoeff = (Mdl.Beta ~ = 0)之和;
在同一个图,画出旨在、分类错误率和频率的非零系数正则化的力量。所有变量在对数尺度的阴谋。
图;[h, hL1, hL2] = plotyy (log10(λ)log10 (ce),…log10(λ)log10 (numNZCoeff));hL1。标志=“o”;hL2。标志=“o”;ylabel (h (1),“log_{10}分类错误”)ylabel (h (2),“log_ {10} nonzero-coefficient频率”)包含(“log_{10}λ的)标题(测试样本统计的)举行从
选择平衡的正则化强度指数预测变量稀疏和低分类错误。在这种情况下,一个值之间 来 应该足够了。
idxFinal = 7;
选择的模型Mdl
选择正则化的力量。
idxFinal MdlFinal = selectModels (Mdl);
MdlFinal
是一个ClassificationLinear
模型包含一个正规化的力量。为新观测估计标签,通过MdlFinal
和新数据预测
。
版本历史
介绍了R2016aR2022a:成本
属性存储指定的成本矩阵
从R2022a,成本
属性存储指定的成本矩阵,这样你就可以计算出观察误分类成本使用指定的成本价值。软件商店规范化先验概率(之前
)和观察权重(W
),不能反映成本矩阵描述的处罚。计算观察误分类代价,指定LossFun
名称-值参数为“classifcost”
当你打电话给kfoldLoss
函数。
注意,模型训练并没有改变,因此,类之间的决策边界没有改变。
培训,拟合函数更新指定的先验概率,将指定的描述的惩罚成本矩阵,然后规范化先验概率和观察的权重。这种行为没有改变。在以前的版本中,存储的软件默认成本矩阵成本
属性和存储先验概率和观察权重用于培训之前
和W
属性,分别。从R2022a,软件商店指定成本矩阵没有修改,并存储规范化先验概率和观察权重不反映成本的惩罚。更多细节,请参阅误分类代价矩阵、先验概率和观察权重。
一些对象函数使用成本
和W
属性:
的
kfoldLoss
函数使用矩阵的存储成本成本
如果你指定属性LossFun
名称-值参数为“classifcost”
或“mincost”
。的
kfoldLoss
和kfoldEdge
函数使用存储在观察权重W
财产。
如果你指定一个默认的成本矩阵训练分类模型时,该对象函数返回一个不同的值与以前版本相比。
如果你想要处理的软件成本矩阵,先验概率,和观察权重在以前的版本中,调整默认的成本的先验概率和观察权重矩阵,描述调整先验概率和观察权重误分类代价矩阵。然后,当你训练一个分类模型,指定调整先验概率和观察权重通过使用之前
和权重
名称-值参数,分别使用默认成本矩阵。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。