文档帮助中心文档
增量学习的朴素贝叶斯分类模型的对数无条件概率密度
lp = logp (Mdl, X)
例子
lp= logp (Mdl,X)返回日志无条件概率密度lp对预测数据的观察X采用朴素贝叶斯分类模型进行增量学习Mdl.您可以使用lp识别训练数据中的异常值。
lp= logp (Mdl,X)
lp
Mdl
X
全部折叠
使用。训练朴素贝叶斯分类模型fitcnb,将其转换为增量学习器,然后使用增量模型检测流数据中的异常值。
fitcnb
加载和预处理数据
加载人工活动数据集。随机洗牌数据。
负载humanactivityrng (1);%的再现性n =元素个数(actid);idx = randsample (n, n);X =壮举(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 = incrementalLearner (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:));[~,降低]= isoutlier (ttlp)
低= -336.0424
检测剩余数据中的异常值,相对于学习创建的数据TTMdl.通过一次处理1个观测来模拟数据流。在每次迭代时,调用logp计算观测的对数无条件概率密度,并存储每个值。
logp
%预先配置idxil = ~ idxtt;nil =总和(idxil);numObsPerChunk = 1;nchunk =地板(nil / numObsPerChunk);lp = 0 (nchunk, 1);iso = false (nchunk, 1);自= 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自(idx:));Iso (j) = lp(j) < low;结束
绘制流数据的对数无条件概率密度。识别异常值。
图;h1 =情节(lp);持有在x = 1: nchunk;h2 =情节(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)
数据类型:单|双
单
双
日志无条件概率密度,返回为n1浮点向量。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)和类先验概率分布是训练选项(也就是说,在训练分类器时指定它们)。
的先验概率某一类的相对频率是该一类观察结果在总体中出现的相对频率。
updateMetrics
适合
updateMetricsAndFit
预测
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系