本期延续上期的支持向量机,为支持向量机找到一个应用场景——垃圾邮件分类。
由于上期的svm都训练了好几轮,这次垃圾邮件分类在数据给出的前提下已经很简单了,这里直接给出代码,不做分析。
import numpy as np
import pandas as pd
import scipy.io as scio
import matplotlib.pyplot as plt
from sklearn.svm import SVC
spamTrain = scio.loadmat("D:\CourseraML\ex6\data\spamTrain.mat") #训练集
spamTest = scio.loadmat("D:\CourseraML\ex6\data\spamTest.mat") #测试集
X, y = spamTrain["X"], spamTrain["y"] #训练集特征和标签
Xtest, ytest = spamTest["Xtest"], spamTest["ytest"] #测试集的特征和标签
svcmodel = SVC() #模型初始化
svcmodel.fit(X, y.ravel()) #训练模型
score = svcmodel.score(Xtest, ytest) #模型得分
print(score)
得到模型得分大约是0.987