机器学习算法-朴素贝叶斯算法
- 1.朴素贝叶斯算法
- 2.支持向量机
- 2.1SVM基本综述
1.朴素贝叶斯算法
朴素贝叶斯是生成模型,需要根据已有的数据求出先验概率。
1.联合概率
2.条件概率
3.相互独立
4.贝叶斯公式
5.API:
sklearn.naive_bayes.MultinomialNB(alpha=1.0)
朴素贝叶斯分类,拉普拉斯平滑系数
朴素在哪:引入了一个很强的条件独立假设,即Y确定时,X的各个特征分量取值之间相互独立。因此也导致了特征有关联的时候效果不是太好。
2.支持向量机
SVM:(supported vector machine),即寻找一个超平面使样本分为两类,并且间隔最大。
间隔最大化
能够执行线性或非线性分类、回归,甚至是异常值检测任务。特别适用于中小型复杂数据集的分类。
包含硬间隔和软间隔。
API:
from sklearn import svm
clf=svm.SVC()
clf.fit(x,y)
clf.predict(x)
svm的损失函数:0/1损失函数、Hinge损失函数、Logistic损失函数
核函数:是将原始输入空间映射到新的特征空间,从而使原本线性不可分的样本在核空间可分。
常见核函数:线性核(核参数少,速度快),多项式核(效率不高,结果也不优于RBF),RBF核(应用最广,无论是小样本还是大样本,高维还是低维等情况),Sigmoid核
svm回归:让尽可能多的实例位于预测线,同时限制间隔违例(也就是不在预测线距上的实例)
SVM算法api:
sklearn.svm.SVC
sklearn.svm.NuSVC
sklearn.svm.LinearSVC
2.1SVM基本综述
svm是一种二类分类模型
它的基本模型是在特征空间中寻找间隔最大化的分离超平面的线性分类器。
硬间隔、引入松弛变量软间隔、通过核函数实现软间隔
优点:在高维空间中非常高效
缺点:对缺失数据敏感、对于核函数的高维映射解释力不强、如果特征数量比样本数量大得多,在选择核函数时要避免过拟合。