帮助中心帮助中心
增量学习朴素贝叶斯分类模型的对数无条件概率密度
lp = logp(Mdl,X)
例子
lp= logp (Mdl,X)返回日志无条件概率密度lp预测数据中的观察结果X使用朴素贝叶斯分类模型进行增量学习Mdl.你可以使用lp识别训练数据中的异常值。
lp= logp (Mdl,X)
lp
Mdl
X
全部折叠
训练朴素贝叶斯分类模型fitcnb,将其转换为增量学习器,然后使用增量模型检测流数据中的异常值。
fitcnb
加载和预处理数据
加载人类活动数据集。随机打乱数据。
负载humanactivityrng (1);%用于再现性N = numel(actid);Idx = randsample(n,n);X = feat(idx,:);Y = actid(idx);
关于数据集的详细信息,请输入描述在命令行。
描述
训练朴素贝叶斯分类模型
将朴素贝叶斯分类模型拟合到约25%数据的随机样本中。
Idxtt = randsample([true false false false],n,true);TTMdl = fitcnb(X(idxtt,:),Y(idxtt))
TTMdl = ClassificationNaiveBayes ResponseName: 'Y' CategoricalPredictors: [] ClassNames: [1 2 3 4 5] ScoreTransform: 'none' NumObservations: 6167 DistributionNames: {1x60 cell} DistributionParameters: {5x60 cell}属性,方法
TTMdl是一个ClassificationNaiveBayes表示传统训练模型的模型对象。
TTMdl
ClassificationNaiveBayes
转换训练模型
将传统训练模型转换为朴素贝叶斯分类模型进行增量学习。
IncrementalMdl =增量学习者(TTMdl)
IncrementalMdl = incrementalClassificationNaiveBayes IsWarm: 1 Metrics: [1x2 table] ClassNames: [1 2 3 4 5] ScoreTransform: 'none' DistributionNames: {1x60 cell} DistributionParameters: {5x60 cell}属性,方法
IncrementalMdl是一个incrementalClassificationNaiveBayes对象。IncrementalMdl表示一种用于增量学习的朴素贝叶斯分类模型;参数值与TTMdl.
IncrementalMdl
incrementalClassificationNaiveBayes
检测异常值
利用传统训练模型和训练数据确定异常值的无条件密度阈值。异常值是流数据中产生密度低于阈值的观测值。
ttlp = logp(TTMdl,X(idxtt,:));[~,lower] = isoutlier(ttlp)
Lower = -336.0424
在其余数据中检测这些异常值。通过一次处理一个观测来模拟一个数据流。在每次迭代中,调用logp计算观测值的对数无条件概率密度并存储每个值。
logp
%预先配置Idxil = ~idxtt;Nil = sum(idxil);numObsPerChunk = 1;nchunk = floor(nil/numObsPerChunk);Lp = 0 (nchunk,1);Iso = false(nchunk,1);Xil = X(idxil,:);Yil = Y(idxil);增量处理为j = 1:nchunk ibegin = min(nil,numObsPerChunk*(j-1) + 1);iend = min(nil,numObsPerChunk*j);Idx = ibegin:iend;lp(j) = logp(IncrementalMdl,Xil(idx,:));Iso (j) = lp(j) < lower;结束
绘制流数据的对数无条件概率密度。确定异常值。
图;H1 =图(lp);持有在X = 1:nchunk;H2 = plot(x(iso),lp(iso),的r *);H3 = yline(下,“g——”);xlim ([0 nchunk]);ylabel (“无条件的密度”)包含(“迭代”)传说([h1 h2 h3],[“对数无条件概率”“局外人”“阈值”)举行从
用于增量学习的朴素贝叶斯分类模型,指定为incrementalClassificationNaiveBayes模型对象。你可以创建Mdl直接或通过转换支持的,传统训练的机器学习模型使用金宝appincrementalLearner函数。更多详细信息,请参见相应的参考页面。
incrementalLearner
您必须配置Mdl计算一批观测数据的对数条件概率密度。
如果Mdl是一个转换的,传统的训练模型,你可以计算日志条件概率没有任何修改。
否则,Mdl。DistributionParameters一定是单元格矩阵用的吗Mdl。NumPredictors> 0列和至少一行,其中每行对应于中的每个类名Mdl。一会.
Mdl。DistributionParameters
Mdl。NumPredictors
Mdl。一会
用于计算日志条件概率密度的一批预测器数据,指定为n——- - - - - -Mdl。NumPredictors浮点矩阵。
为每一个j= 1到n,如果X (j:)至少包含一个南,lp (j)是南.
j
X (j:)
南
lp (j)
数据类型:单|双
单
双
日志无条件概率密度,作为n-by-1浮点向量。lp (j)预测因子的对数无条件概率密度是否在X (j:).
的无条件概率密度其中一个预测因子是密度在各个类上的边缘分布。
也就是说,无条件概率密度是
P ( X 1 , .. , X P ) = ∑ k = 1 K P ( X 1 , .. , X P , Y = k ) = ∑ k = 1 K P ( X 1 , .. , X P | y = k ) π ( Y = k ) ,
在哪里π(Y=k)为类先验概率。给定类(P(X1, . .XP|y=k)),类先验概率分布是训练选项(也就是说,你在训练分类器时指定它们)。
的先验概率一个类别是假设的相对频率,从该类别的观察出现在一个总体。
R2021a中引入
updateMetrics
适合
updateMetricsAndFit
预测
Tiene una versión modificada de este ejemplo。¿Desea abrir este ejemplo con sus modificaciones?
Ha hecho clic en unenlace que对应一个este commando de MATLAB:
弹射突击队introduciéndolo en la ventana de commandos de MATLAB。Los navegadores web no permission comandos de MATLAB。
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:.
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系当地办事处