def Bayes(trainDataset,label):
numTrainDocs = len(trainDataset);
numWords = len(trainDataset[0]);
py = sum(label)/float(numTrainDocs);
p0Num = ones(numWords); p1Num = ones(numWords);
p0Denom = 0.0; p1Denom = 0.0;
for i in range(numTrainDocs):
if label[i] == 1:
p1Num += trainDataset[i];
p1Denom += sum(trainDataset[i]);
else:
p0Num += trainDataset[i];
p0Denom += sum(trainDataset[i]);
p1 = p1Num/p1Denom;
p0 = p0Num/p0Denom;
return p0,p1,py;
def prediton(x,y):
py1=1.0;py0=1.0;
for i in range(len(x)):
if x[i]==0 and y[i]==0:
py0 *= p0*py;
else
py1 *= p1*(1-py);
if(py0<py1)
return 0;
else:
return 1;
文章标题
最新推荐文章于 2023-10-19 15:03:50 发布