文档帮助中心文档
类:ClassificationLinear
线性分类模型的分类边距
m =利润率(Mdl, X, Y)
m =利润率(Mdl, X, Y, ObservationsIn,尺寸)
m =利润率(Mdl台ResponseVarName)
m =利润率(Mdl台,Y)
例子
米=利润(Mdl,X,Y)返回分类的利润率为二元、线性分类模型Mdl使用预测数据X和相应的类标签Y.米中每个正则化强度的分类边距Mdl.
米=利润(Mdl,X,Y)
米
Mdl
X
Y
米=利润(Mdl,X,Y“ObservationsIn”,维)也可以指定预测器数据观测维度“行”(默认)或“列”.例如,指定“ObservationsIn”、“列”表示预测数据中的列与观测值相对应。
米=利润(Mdl,X,Y“ObservationsIn”,维)
维
“行”
“列”
“ObservationsIn”、“列”
米=利润(Mdl,资源描述,ResponseVarName)返回训练过的线性分类器的分类边距Mdl利用表中的预测数据资源描述和类标签资源描述。ResponseVarName.
米=利润(Mdl,资源描述,ResponseVarName)
资源描述
ResponseVarName
资源描述。ResponseVarName
米=利润(Mdl,资源描述,Y)返回分类器的分类边距Mdl利用表中的预测数据资源描述类标签在向量中Y.
米=利润(Mdl,资源描述,Y)
全部展开
ClassificationLinear
二进制,线性分类模型,指定为ClassificationLinear模型对象。您可以创建ClassificationLinear模型对象使用fitclinear.
fitclinear
预测数据,指定为n——- - - - - -p全或稀疏矩阵。这个方向的X指示行对应个别的观察结果,列对应个别的预测变量。
请注意
如果你定位你的预测矩阵,使观察结果对应列和指定“ObservationsIn”、“列”,那么计算时间可能会显著减少。
的长度Y观察到的数量X必须是相等的。
数据类型:单|双
单
双
类标签,指定为类别、字符或字符串数组;逻辑或数字向量;或者字符向量的单元格数组。
的数据类型Y的数据类型必须相同Mdl。一会.(该软件将字符串数组视为字符向量的单元格数组。)
Mdl。一会
不同的阶级Y的子集Mdl。一会.
如果Y是字符数组,则每个元素必须对应于数组的一行。
的长度Y必须等于在X或资源描述.
数据类型:分类|字符|字符串|逻辑|单|双|细胞
分类
字符
字符串
逻辑
细胞
预测器数据观测维数,指定为“列”或“行”.
如果你定位你的预测矩阵,使观察结果对应列和指定“ObservationsIn”、“列”,那么优化执行时间可能会显著减少。你不能指定“ObservationsIn”、“列”用于表中的预测数据。
用于训练模型的样例数据,指定为表。每一行的资源描述对应一个观察结果,每一列对应一个预测变量。可选地,资源描述可以包含用于响应变量和观察权重的附加列。资源描述必须包含用于训练的所有预测器Mdl.不允许多列变量和字符向量的单元格数组以外的单元格数组。
如果资源描述包含用于训练的响应变量Mdl,则不需要指定ResponseVarName或Y.
如果你训练Mdl使用表中包含的样例数据,则输入数据为保证金也必须在表中。
保证金
中指定为变量名的响应变量名资源描述.如果资源描述包含用于训练的响应变量Mdl,则不需要指定ResponseVarName.
如果您指定ResponseVarName,则必须将其指定为字符向量或字符串标量。例如,如果响应变量存储为资源描述。Y,然后指定ResponseVarName作为“Y”.的所有列资源描述,包括资源描述。Y预测因子。
资源描述。Y
“Y”
响应变量必须是一个类别、字符或字符串数组;逻辑向量:逻辑或数字向量;或者字符向量的单元格数组。如果响应变量是字符数组,则每个元素必须对应数组中的一行。
数据类型:字符|字符串
分类的利润率,作为数值列向量或矩阵返回。
米是n——- - - - - -l,在那里n观察的数量在吗X而且l正则化强度的数量在吗Mdl(即,元素个数(Mdl.Lambda)).
元素个数(Mdl.Lambda)
米(我,j)分类范围是观察范围吗我利用训练的具有正则化强度的线性分类模型Mdl。lambda(j).
米(我,j)
我
j
Mdl。lambda(j)
加载NLP数据集。
负载nlpdata
X是稀疏矩阵的预测数据,和Y是类标签的分类向量。数据中有两个以上的类。
模型应该确定网页中的字数是否来自统计和机器学习工具箱™文档。因此,确定与统计和机器学习工具箱™文档网页对应的标签。
Ystats = Y ==“统计数据”;
训练一个二进制的线性分类模型,它可以识别文档网页中的字数是否来自统计和机器学习工具箱™文档。指定保留30%的观察结果。利用SpaRSA优化目标函数。
rng (1);%的再现性Ystats CVMdl = fitclinear (X,“规划求解”,“sparsa”,“坚持”, 0.30);CMdl = CVMdl.Trained {1};
CVMdl是一个ClassificationPartitionedLinear模型。它包含属性训练有素的,这是一个1 × 1的单元格数组,包含一个ClassificationLinear软件使用训练集进行训练的模型。
CVMdl
ClassificationPartitionedLinear
训练有素的
从分区定义中提取训练和测试数据。
trainIdx =培训(CVMdl.Partition);testIdx =测试(CVMdl.Partition);
估计训练和测试样本的裕度。
mTrain =利润率(CMdl X (trainIdx:), Ystats (trainIdx));太=利润率(CMdl X (testIdx:), Ystats (testIdx));
因为有一个正则化的强度CMdl,mTrain而且太分别为长度等于训练观察数和测试观察数的列向量。
CMdl
mTrain
太
使用框图绘制两组边距。
图;箱线图([mTrain;太]、[0(大小(mTrain, 1), 1);(大小(mt, 1), 1)),…“标签”, {“训练集”,测试集的});甘氨胆酸h =;h.YLim = [-5 60];标题“培训和测试集的边际”
训练集和测试集之间的差值分布相似。
执行特征选择的一种方法是比较来自多个模型的测试样本裕度。仅根据这个标准,边距越大的分类器就是越好的分类器。
加载NLP数据集。对数据进行预处理估计测试样本的利润率.
负载nlpdataYstats = Y ==“统计数据”;X = X ';rng (1);%的再现性
创建一个数据分区,保存30%的观察结果用于测试。
分区= cvpartition (Ystats,“坚持”, 0.30);testIdx =测试(分区);%测试集指数XTest = X (:, testIdx);欧美= Ystats (testIdx);
分区是一个cvpartition对象,该对象定义数据集分区。
分区
cvpartition
随机选择10%的预测变量。
p =大小(X, 1);%预测数idxPart = randsample (p,装天花板(0.1 * p));
训练两个二元线性分类模型:一个使用所有的预测因子,另一个使用随机的10%。利用SpaRSA优化目标函数,并指示观测值与列对应。
Ystats CVMdl = fitclinear (X,“CVPartition”分区,“规划求解”,“sparsa”,…“ObservationsIn”,“列”);PCVMdl = fitclinear (X (idxPart:), Ystats,“CVPartition”分区,“规划求解”,“sparsa”,…“ObservationsIn”,“列”);
CVMdl而且PCVMdl是ClassificationPartitionedLinear模型。
PCVMdl
提取训练ClassificationLinear来自交叉验证模型的模型。
CMdl = CVMdl.Trained {1};PCMdl = PCVMdl.Trained {1};
估计每个分类器的测试样本裕度。使用框图绘制边缘集的分布。
fullMargins =利润率(CMdl XTest,欧美,“ObservationsIn”,“列”);partMargins =利润率(PCMdl XTest (idxPart:),欧美,…“ObservationsIn”,“列”);图;箱线图([fullMargins partMargins),“标签”,…{“所有预测”,“10%的预测者”});甘氨胆酸h =;h.YLim = [-20 60];标题(测试样本的利润的)
的边际分布CMdl位于高于边际分布的PCMdl.
PCMdl
为了确定使用逻辑回归学习器的线性分类模型的一个好的套索惩罚强度,比较测试样本裕度的分布。
负载nlpdataYstats = Y ==“统计数据”;X = X ';分区= cvpartition (Ystats,“坚持”, 0.30);testIdx =测试(分区);XTest = X (:, testIdx);欧美= Ystats (testIdx);
创建一组11个对数间距的正则化强度 1 0 - 8 通过 1 0 1 .
λ= logspace (8 1 11);
训练使用每种正则化优势的二元线性分类模型。利用SpaRSA优化目标函数。降低目标函数梯度上的公差1 e-8.
1 e-8
rng (10);%的再现性Ystats CVMdl = fitclinear (X,“ObservationsIn”,“列”,…“CVPartition”分区,“学习者”,“物流”,“规划求解”,“sparsa”,…“正规化”,“套索”,“λ”λ,“GradientTolerance”1 e-8)
CVMdl = ClassificationPartitionedLinear CrossValidatedModel: 'Linear' ResponseName: 'Y' NumObservations: 31572 KFold: 1 Partition: [1x1 cvpartition] ClassNames: [0 1] ScoreTransform: 'none' Properties, Methods
提取训练好的线性分类模型。
Mdl = CVMdl。训练有素的{1}
Mdl = ClassificationLinear ResponseName: 'Y' ClassNames: [0 1] ScoreTransform: 'logit' Beta: [34023x11 double] Bias:[-11.5378 -11.5378 -11.5378 -11.5378 -11.5378…[1.0000e-08 7.9433e-08 6.3096e-07 5.0119e-06…]学习者:“逻辑”性质,方法
Mdl是一个ClassificationLinear模型对象。因为λ是一个序列的正则化强度,你能想到吗Mdl作为11个模型,每个正则化强度为λ.
λ
估计测试样本裕度。
m =利润率(Mdl X (:, testIdx) Ystats (testIdx),“ObservationsIn”,“列”);尺寸(米)
ans =1×29471年11
因为有11种正则化优势,米有11列。
绘制每个正则化强度的测试样本裕度图。因为逻辑回归分数在[0,1],所以裕度在[-1,1]。重新调整边界的大小,以帮助识别使网格上的边界最大化的正则化强度。
图;箱线图(10000 m ^) ylabel (“取幂试样边缘的)包含(“λ指数”)
数的值λ附近紧实的收益率边际分布 1 0 0 0 0 1 .较高的lambda值导致预测器变量稀疏性,这是分类器的一个良好品质。
选择发生在裕度分布中心开始下降之前的正则化强度。
LambdaFinal =λ(5);
使用整个数据集训练一个线性分类模型,并指定所需的正则化强度。
Ystats MdlFinal = fitclinear (X,“ObservationsIn”,“列”,…“学习者”,“物流”,“规划求解”,“sparsa”,“正规化”,“套索”,…“λ”, LambdaFinal);
要估计新观察值的标签,请传递MdlFinal和新的数据预测.
MdlFinal
预测
的分类保证金对于二元分类,对于每个观察,是真实类的分类分数与虚假类的分类分数之间的差值。
该软件将二进制分类的分类裕度定义为
米 = 2 y f ( x ) .
x是一个观察。如果真标签x那么是正类吗y为1,否则为-1。f(x)为观察的正类分类得分x.分类裕度通常定义为米=yf(x).
如果边际在相同的尺度上,那么它们就可以作为分类置信度量。在多个分类器中,利润率更高的分类器更好。
对于线性分类模型,原始分类分对观察结果进行分类x,一个行向量,入正类定义为
f j ( x ) = x β j + b j .
对于具有正则化强度的模型j, β j 估计的系数列向量(模型属性?β(:,j)), b j 是估计的,标量偏差(模型属性偏见(j)).
β(:,j)
偏见(j)
分类的原始分类分数x变成负类是-f(x).该软件将观察结果划分为能获得正面分数的类别。
如果线性分类模型包含逻辑回归学习者,则软件应用分对数的分数转换为原始分类分数(见ScoreTransform).
分对数的
ScoreTransform
使用注意事项和限制:
保证金不支持高金宝app表格数据。
表格
有关更多信息,请参见高大的数组.
ClassificationLinear|边缘|预测|fitclinear
边缘
您有了这个示例的修改版本。您想用您的编辑打开这个示例吗?
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:.
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。
联系当地办事处