机器学习CS229:朴素贝叶斯&exercise6

作者: 小太阳花儿 | 来源:发表于2017-09-25 21:43 被阅读9次

用朴素贝叶斯实现垃圾邮件分类器,解题代码如下

numTrainDocs = 700;

numTokens = 2500;

M = dlmread('F:\machine\ex6DataPrepared\train-features.txt', ' ');

spmatrix = sparse(M(:,1), M(:,2), M(:,3), numTrainDocs, numTokens);

train_matrix = full(spmatrix);

y = dlmread('F:\machine\ex6DataPrepared\train-labels.txt', ' ');

spam=find(y==1);

nonspam=find(y==0);

p_y=length(spam)/numTrainDocs;

xofspam=zeros(numTokens,1);

xofnonspam=zeros(numTokens,1);

for i=1:numTokens

xofspam(i,1)=sum(train_matrix(spam,i));

xofnonspam(i,1)=sum(train_matrix(nonspam,i));

end

word=sum(train_matrix,2);

fi_y1=(xofspam+1)./(sum(word(spam))+numTokens);

fi_y0=(xofnonspam+1)./(sum(word(nonspam))+numTokens);

%以上是train

%以下是test

numTestDocs = 260;

M =dlmread('F:\machine\ex6DataPrepared\test-features.txt', ' ');

test_spmatrix = sparse(M(:,1), M(:,2), M(:,3), numTestDocs, numTokens);

test_matrix = full(test_spmatrix);

test_result=zeros(numTestDocs,1);

a=test_matrix*log(fi_y1);

b=test_matrix*log(fi_y0);

test_result=a>b;

test_labels=dlmread('F:\machine\ex6DataPrepared\test-labels.txt', ' ');

length(find(test_result-test_labels));

对公式理解的两处错误导致我改了一晚上bug,以及MATLAB使用不熟练导致代码冗余,一个矩阵运算或者一个函数就可以搞定的问题我就傻傻的写了for循环。

相关文章

  • 机器学习CS229:朴素贝叶斯&exercise6

    用朴素贝叶斯实现垃圾邮件分类器,解题代码如下 numTrainDocs = 700;numTokens = 250...

  • 机器学习实战 朴素贝叶斯

    title: 朴素贝叶斯 机器学习实战date: 2019-07-28tags: 机器学习 贝叶斯categori...

  • 机器学习数学原理(4)——朴素贝叶斯模型

    机器学习数学原理(4)——朴素贝叶斯模型 朴素贝叶斯模型(Naive Bayes Model),是一种基于贝叶斯定...

  • 朴素贝叶斯

    学习机器学习最简单的算法可以说就是 朴素贝叶斯了,今天分享下自己的学习心得。 什么是贝叶斯,什么是朴素贝叶斯 贝叶...

  • 朴素贝叶斯法

    朴素贝叶斯法 朴素贝叶斯法的学习与分类 朴素贝叶斯法的参数估计 朴素贝叶斯实现 高斯朴素贝叶斯实现 使用 skle...

  • 朴素贝叶斯分类算法

    朴素贝叶斯分类算法多项式和高斯朴素贝叶斯的解释 朴素贝叶斯是一种有监督的机器学习方法,是概率分类器家族的一员。它采...

  • Task4

    传统机器学习 一、朴素贝叶斯朴素贝叶斯(naïve Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法。对...

  • 机器学习 Day 12 | 朴素贝叶斯基础

    机器学习第十二天 基于概率论的分类方法:朴素贝叶斯 朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均...

  • Scikit-Learn 朴素贝叶斯分类丨数析学院

    朴素贝叶斯分类是机器学习中常见的分类方法之一,本节将带大家深入学习一下 Scikit-Learn 中朴素贝叶斯分类...

  • 朴素贝叶斯法解析实践

    教材选用《统计学习方法》,第一版,李航著;代码取自《机器学习实战》,人民邮电出版社; 朴素贝叶斯介绍 朴素贝叶斯法...

网友评论

    本文标题:机器学习CS229:朴素贝叶斯&exercise6

    本文链接:https://www.haomeiwen.com/subject/taxjextx.html