数据挖掘常用算法
1、朴素贝叶斯
朴素贝叶斯(NB)属于生成式模型(即需要计算特征与类的联合概率分布),计算过程非常简单,只是做了一堆计数。NB有一个条件独立性假设,即在类已知的条件下,各个特征之间的分布是独立的。这样朴素贝叶斯分类器的收敛速度将快于判别模型,如逻辑回归,所以只需要较少的训练数据即可。即使NB条件独立假设不成立,NB分类器在实践中仍然表现的很出色。它的主要缺点是它不能学习特征间的相互作用,用mRMR中的R来讲,就是特征冗余。
2、逻辑回归(logisticregression)
逻辑回归是一个分类方法,属于判别式模型,有很多正则化模型的方法(L0,L1,L2),而且不必像在用朴素贝叶斯那样担心特征是否相关。与决策树与SVM相比,还会得到一个不错的概率解释,甚至可以轻松地利用新数据来更新模型(使用在线梯度下降算法onlinegradientdescent)。如果需要一个概率架构(比如,简单地调节分类阈值,指明不确定性,或者是要获得置信区间),或者希望以后将更多的训练数据快速整合到模型中去,那么可以使用它。
3、最近邻算法——KNN
KNN即最近邻算法,其主要过程为:计算训练样本和测试样本中每个样本点的距离(常见的距离度量有欧式距离,马氏距离等);对上面所有的距离值进行排序;选前k个最小距离的样本;根据这k个样本的标签进行投票,得到最后的分类类别;
如何选择一个最佳的K值,这取决于数据。一般情况下,在分类时较大的K值能够减小噪声的影响。但会使类别之间的界限变得模糊。一个较好的K值可通过各种启发式技术来获取,比如,交叉验证。另外噪声和非相关性特征向量的存在会使K近邻算法的准确性减小。
近邻算法具有较强的一致性结果。随着数据趋于无限,算法保证错误率不会超过贝叶斯算法错误率的两倍。对于一些好的K值,K近邻保证错误率不会超过贝叶斯理论误差率。
4、决策树
可以处理特征间的交互关系并且是非参数化的,因此不必担心异常值或者数据是否线性可分(举个例子,决策树能轻松处理好类别A在某个特征维度x的末端,类别B在中间,然后类别A又出现在特征维度x前端的情况)。它的缺点之一就是不支持在线学习,于是在新样本到来后,决策树需要全部重建。另一个缺点就是容易出现过拟合,但这也就是诸如随机森林RF(或提升树boostedtree)之类的集成方法的切入点。另外,随机森林经常在很多分类问题上表现很好(通常比支持向量机好一些),它训练快速并且可调,同时无须担心要像支持向量机那样调一大堆参数,所以在以前一直很受欢迎。
5、Adaboosting
Adaboost是一种加和模型,每个模型都是基于上一次模型的错误率来建立的,过分关注分错的样本,而对正确分类的样本减少关注度,逐次迭代之后,可以得到一个相对较好的模型。Adaboost是一种典型的boosting算法。
6、SVM支持向量机
高准确率,为避免过拟合提供了很好的理论保证,而且就算数据在原特征空间线性不可分,只要给个合适的核函数,它就能运行得很好。在动辄超高维的文本分类问题中特别受欢迎。可惜内存消耗大,难以解释,运行和调参也有些烦人,而随机森林却刚好避开了这些缺点,比较实用。
-
数据挖掘
+关注
关注
1文章
406浏览量
24236
发布评论请先 登录
相关推荐
评论