Programming Exercise 6:Support Vector Machines 第二部分

        大家好,我是Mac Jiang,今天和大家分享一下coursera网站上Stanford University的Machine Learning公开课(吴恩达老师)课程第六次作业:Programming Exercise 6:Support Vector Machines。写这篇博客的目的是为在课程学习中遇到困难的同学提供一些帮助,同时帮助自己巩固这周的课程内容。欢迎博友转载此文章,但希望您在转载之前与我联系并标明文章的出处,谢谢!

        由于Programming Exercise 6的作业内容可以分为两大块,即1Support Vector Machines  2Span Classification.其中,第一块主要是描述SVM算法的具体实现过程,是本周课程内容的基础,第二块垃圾邮件分类是基于第一块代码的基础上的具体实际应用。第一部分的实现过程已经在前一篇博客中给出,地址为:第一部分:Support Vector Machines。下面介绍第二部分Spam Classification(垃圾邮件分类)的实现过程。


        好的,话不多说,开始我们的讲解。

        数据集:spamTrain.mat ---训练样本,用于训练垃圾邮件分类器,有4000个训练样本

                    spamTest.mat ---测试样本,用于查看已得到的分类器对新样本的泛化能力,有1000个训练样本

                    vocab.txt ---分类器用到的词汇集合,保存在txt中,存有编号和对应的词汇,这里设置的是1899个常用词汇

                    emailSample1.txt ,emailSample2.txt---邮件样例,用于查看邮件处理算法对邮件的处理效果

                    spamSample1.txt,spamSample2.txt ---垃圾邮件,用于对以训练的样本进行预测,看分类器判断是否为垃圾邮件

  函数文件:ex6_spam.m --- 实验的控制文件,描述实验的进行过程,控制输入输出,绘图等操作。不用修改

                    getVocabList.m ---将vocab.txt读入matlab中,并放在一个一维字符数组vocabList中。不用修改,直接调用

                    porterStemmer.m ---英文分词函数。不用修改,直接调用

                    readFile.m ---读取邮件文本函数。不用修改,直接调用

                    processEmain.m ---对读取的字符串进行加工,如:去标点,分词,去网址,去数字等。需要修改

                    emailFeature.m ---看分好词后,这个词是否在词汇库vocabList中,如果在,则在对应的向量上置1。需要修改

                    svmTrain.m --- 利用训练样本训练SVM分类器,不用修改,直接调用。上篇博客解释过

                    linearKernel.m --- 线性核函数,不用修改,直接调用。上篇博客解释过

                    svmPredict.m --- 利用训练得到的model对新样本进行预测,不用修改,直接调用。上篇博客提到过

1.ex6_spam.m为此程序的实现流程,代码如下

<span style="font-size:12px;">%% Initialization
clear ; close all; clc
%% ==================== Part 1: Email Preprocessing ====================
%  To use an SVM to classify emails into Spam v.s. Non-Spam, you first need
%  to convert each email into a vector of features. In this part, you will
%  implement the preprocessing steps for each email. You should
%  complete the code in processEmail.m
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值