零、 背景
matlab也不熟,python也不熟。机器学习没入门。啥也不会。
我们的目标是: 获得数据集 ---> 构造字典 ---> 获得特征向量X,y ---> 训练模型 ---> 预测数据。
一、 邮件数据下载
http://spamassassin.apache.org/old/publiccorpus/
各压缩包内容在该网站上readme.html都有介绍。我使用了spam_2,hard_ham 和 easy_ham。(其实只取了其中的几十个)
然后大概需要批量重命名: ren *.* *.txt
注意:
spam: y=1
non-spam: y=0
(根本记不住啊有木有
二、 构造字典(vocabList)
这里有个大坑。因为Andrew男神的作业vocab.txt也就是字典是直接给出的。所以我们要自己构造。
注意字典是采集于垃圾邮件,这里我用100封垃圾邮件(完全不够啊喂,emmmm速度快啊!
处理邮件内容:
function contents = myProcessEmail(email_contents)
%word_indices = [];
contents = [];
% load vocabulary
vocabList = getVocabList();
fprin