Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
 
 
主题工具 显示模式
旧 2019-11-26, 03:41   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
默认 how to use the NaiveBayes.fit for classification in matlab?

I'm using Naive Bayes classifier:



 for i=1 :100
load('datas3.mat');
data=datas3;
[n,m]=size(data);
rows=(1:n);
testcount=floor((0.2)*n);
acc1=0; SenAr=0; SpeAr=0; MCCAr=0;
kk=10;
for k=1: kk
test_rows=randsample(rows,testcount);
train_rows=setdiff(rows,test_rows);
test=data(test_rows,:);
train=data(train_rows,:);
xtest=test(:,1:m-1);
ytest=test(:,m);
xtrain=train(:,1:m-1);
ytrain=train(:,m);
NB=NaiveBayes.fit(xtrain,ytrain);
out=NB.predict(xtest);


these errors were shown:
Warning: NaiveBayes will be removed in a future release. Use fitcnb instead.




In NaiveBayes.fit (line 8)
In accu (line 30)
Error using NaiveBayes.fit>gaussianFit (line 373)
The within-class variance in each feature of TRAINING must be positive. The within-class variance
in feature 1 in class 0
are not positive.
Error in NaiveBayes.fit (line 337)
obj = gaussianFit(obj, training, gindex);
Error in accu (line 30)
NB=NaiveBayes.fit(xtrain,ytrain);




I'll be very grateful to have your opinions. Thanks.





More answer...
poster 当前离线   回复时引用此帖
 

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 03:20


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.