数据挖掘分类算法比较Word版
- 格式:doc
- 大小:22.50 KB
- 文档页数:5
数据挖掘各类算法综述了解数据挖掘的各类算法的原理和应用领域以及优缺点对于在实际的工作中选择合适的方法,并加以改进有很重要的指导意义。
1.1 关联规则挖掘算法R.Agrawal等人于1993年首先提出了挖掘顾客交易数据库中项集间的关联规则问题,其核心方法是基于频集理论的递推方法。
此后人们对关联规则的挖掘问题进行了大量研究,包括对Apriori算法优化、多层次关联规则算法、多值属性关联规则算法、其他关联规则算法等,以提高算法挖掘规则的效率。
1)Apriori算法Apriori算法是最有影响的挖掘布尔关联规则频繁项集的算法。
算法Apriori利用“在给定的事务数据库D中,任意频繁项集的非空子集都必须也是频繁的”这一原理对事务数据库进行多次扫描,第一次扫描得出频繁1-项集L ,第k (k>1)次扫描前先利用第k-1次扫描的结果(即频繁k-1项集L k-1)和函数Apriori—gen产生候选k-项集C k,然后在扫描过程中确定C k女中每个元素的支持数,最后在每次扫描结束时计算出频繁k-项集L k,算法在当频繁n-项集为空时结束。
算法:Apriori,使用根据候选生成的逐层迭代找出频繁项集输入:事务数据库D;最小支持度阈值min_sup输出:D中的频繁项集L方法:(1) L1 = find_frequent_1–itemsets(D);(2)for (k = 2;L k-1 ≠Φ;k ++){(3) C k = apriori_gen(L k-1 , min_sup);(4)for each transaction t ∈ D { //scan D for counts(5) C t= subset (C k,t); //get the subset of t that are candidates(6)for each candidate c ∈ C t(7) c.count++;(8) }∕ (9) L k = { c ∈C k | c.count ≥min_sup };(10) }(11) return L = ∪k L k ;// apriori_gen 用来产生候选k 项集procedure apriori_gen(L k-1:(k-1)项频繁集, min_sup :最小值尺度 )(1) for each itemset l 1 ∈ L k-1(2) for each itemset l 2 ∈ L k-1(3) if (l 1[1]= l 2[1])∧(l 1[2]= l 2[2]) ∧…∧(l 1[k-2]= l 2[k-2]) ∧(l 1[k-1]< l 2[k-1])then {(4) c = l 1 自连接 l 2 ; //产生候选项集(5) if has_infrequent_subset (c , L k-1 ) then(6) delete c; //根据性质作剪枝操作(7) else add c to C k ;(8) }(9) return C k ;//procedure has_infrequent_subse (c , L k-1 )(1) for each (k-1)-subset s of c(2) if s ∈ Lk-1 then (3) return True;(4) return false;appriori_gen做两个动作:连接和剪枝。
数据挖掘中的分类算法综述分类算法是数据挖掘中最常用的算法之一。
它是一种基于样本数据的学习方法,通过对已知样本的特征进行分析和处理,建立分类模型,用于对未知样本进行分类判断。
分类算法主要应用于垃圾邮件识别、图像分类、文本分类、金融欺诈检测等领域。
本文将综述数据挖掘中常用的分类算法。
1.决策树算法决策树算法是一种基于树形结构的分类算法。
它通过对数据集进行划分,构建一棵决策树,从而实现对未知样本的分类。
决策树算法具有可解释性好、可处理离散和连续型变量等优点。
缺点是易过拟合,对于不平衡数据集和噪声数据的处理效果较差。
2.朴素贝叶斯算法朴素贝叶斯算法是一种基于贝叶斯定理的分类算法。
它通过对已知样本的特征进行统计分析,计算出不同类别的概率,从而实现对未知样本的分类。
朴素贝叶斯算法具有计算简单、对缺失数据具有容错能力等优点。
缺点是对于特征之间存在相关性的数据集,分类效果较差。
3.支持向量机算法支持向量机算法是一种基于最大间隔分类的分类算法。
它通过将数据映射到高维空间中,找到一个最优的超平面,使得不同类别的样本点的距离最大化。
支持向量机算法具有对高维数据处理能力强、泛化能力好等优点。
缺点是对于大规模数据的处理效率较低。
4.神经网络算法神经网络算法是一种基于人工神经网络的分类算法。
它通过对已知样本的特征进行学习和训练,建立一个多层的神经网络模型,从而实现对未知样本的分类。
神经网络算法具有对非线性数据建模能力强、噪声数据的处理能力强等优点。
缺点是对于网络结构的选择和参数的调整较为困难。
5.随机森林算法随机森林算法是一种基于决策树的集成学习算法。
它通过对数据集进行随机采样和特征选取,构建多棵决策树,并通过投票的方式进行分类。
随机森林算法具有泛化能力强、对于不平衡数据集的处理能力强等优点。
缺点是对于高维数据的处理效率较低。
分类算法在数据挖掘中的应用非常广泛。
不同的分类算法具有各自的优缺点,应根据具体的数据集和问题选择合适的算法进行建模和分类。
数据挖掘常用聚类算法比较分析数据挖掘是从大量数据中发现有用信息的过程。
聚类是一种无监督学习的方法,用于将相似对象归类到同一组中。
在数据挖掘中,聚类算法常被应用于数据预处理、数据分析和模式识别等领域。
以下是常见的聚类算法的比较分析。
1. k-means算法:k-means算法是最常见和最简单的聚类算法之一、它的主要思想是将数据集分为k个簇,每个簇都有一个代表性的中心点。
算法通过迭代将数据点分配给最近的中心点,并更新中心点的位置,直到收敛。
k-means算法的优点是计算效率高,容易实现。
然而,它依赖于初始中心点的选择,对离群值敏感,且对于非球形簇表现较差。
2.层次聚类算法:层次聚类算法根据对象之间的相似度或距离构建聚类关系的层次结构。
这些算法包括凝聚聚类和分裂聚类。
凝聚聚类从每个对象作为单个簇开始,然后通过合并相似的簇来减少簇的数量,直到达到预定的聚类数。
分裂聚类从所有对象作为一个簇开始,然后通过分裂簇来增加簇的数量,直到达到预定的聚类数。
层次聚类算法的优点是不需要事先确定聚类数,且能够发现嵌套的簇结构。
然而,它的计算复杂度较高,尤其在处理大规模数据时。
3.密度聚类算法:密度聚类算法将聚类定义为高密度区域被低密度区域分隔的数据区域。
其中最有代表性的算法是DBSCAN(Density-Based Spatial Clusteringof Applications with Noise)。
DBSCAN通过定义半径和邻居数量来判断一个点是否为核心点、边界点或噪声点。
密度聚类算法的优点是能够发现任意形状和大小的簇,并且对离群值和噪声点具有较好的鲁棒性。
但它对于定义合适的参数和处理不同密度的簇比较敏感。
4.基于网格的聚类算法:基于网格的聚类算法将数据空间划分为一个网格结构,并在每个网格中聚集数据点。
其中最常用的算法是BIRCH(balanced iterative reducing and clustering using hierarchies)。
数据挖掘中的分类与回归算法比较与分析数据挖掘是从大量的数据中提取出有价值的信息和知识的过程,是一种通过发现数据中的潜在模式和关联关系来预测未来行为、进行决策支持的技术。
数据挖掘中常用的两种主要算法是分类和回归算法,它们在数据分析和预测模型建立中具有重要作用。
本文将比较和分析几种常见的分类与回归算法,旨在帮助读者了解它们的不同特点和适用场景。
1. 分类算法1.1 决策树算法决策树是一种基于树状结构的分类模型,它通过对特征属性进行逐步划分来实现对数据集的分类。
决策树算法具有易于理解和解释的特点,可以处理离散和连续特征,并且在处理缺失数据时表现良好。
然而,决策树算法容易产生过拟合问题,需要进行剪枝处理。
1.2 朴素贝叶斯算法朴素贝叶斯算法是基于贝叶斯定理和特征条件独立性假设的分类算法。
它通过计算给定特征的条件下目标变量的后验概率来进行分类。
朴素贝叶斯算法具有简单和高效的特点,适用于处理大规模数据集。
然而,朴素贝叶斯算法假设特征之间相互独立,这在某些情况下可能不符合实际情况,会导致分类结果不准确。
1.3 支持向量机算法支持向量机算法是基于统计学习理论中的结构风险最小化原则的分类算法。
它通过构建一个最优超平面将不同类别的样本分隔开来。
支持向量机算法具有高准确率和泛化能力强的特点,适用于处理高维数据集。
然而,支持向量机算法对于大规模数据集计算复杂度高,训练时间长。
2. 回归算法2.1 线性回归算法线性回归算法是一种用于建立线性关系的回归模型的方法,它通过拟合一个线性方程来预测连续目标变量的值。
线性回归算法具有简单和快速的特点,适用于处理大规模数据集。
然而,线性回归算法对于非线性关系的数据拟合效果不好。
2.2 逻辑回归算法逻辑回归算法是一种用于建立分类模型的回归算法,它通过将线性回归模型的输出映射到[0, 1]之间的概率值来进行分类。
逻辑回归算法具有计算简单、解释性强的特点,适用于处理二分类问题。
然而,逻辑回归算法对于非线性关系的数据分类效果差。
数据挖掘中的分类算法比较数据挖掘是一种从大量数据中寻找规律并提取知识的技术。
在数据挖掘的过程中,分类是其中重要的一个任务。
分类算法是将数据集合分成多个类别的方法。
通过分类,我们可以预测新数据的分类标签,从而为决策提供支持。
在本文中,我们将会比较常用的四个分类算法,即:决策树、朴素贝叶斯、支持向量机和k-近邻算法。
1. 决策树决策树是一种用于分类和回归的常见算法。
决策树通过在样本中寻找规律,从而实现分类的目的。
决策树的建立过程是一个自底向上递归构建的过程,通过将数据集分成更小的子集,分别对子集进行分析,得到每个子集的决策规则,最终将它们组成一个树形结构。
决策树的优点在于它能够处理各种类型的数据,并且能够处理包含大量特征的数据集。
此外,决策树易于理解和解释,容易推广和扩展。
2. 朴素贝叶斯朴素贝叶斯分类算法是一种基于贝叶斯定理的统计方法,它假设每一种特征条件独立。
对于给定的数据集和新数据,朴素贝叶斯分类器使用贝叶斯公式来计算每个类别的条件概率,并选择概率最大的类别作为预测值。
朴素贝叶斯分类方法简单有效,它能够应对高维度数据,并且能够较好地处理许多类型的数据。
3. 支持向量机支持向量机(SVM)是一种流行的分类算法,它使用一个超平面来将数据集分割成两个部分。
在散点图空间中,SVM选择一个最大间隔超平面,使其可以将分类标签分开。
SVM具有良好的泛化性能和较高的准确率,特别适合处理高维数据和复合非线性特征空间中的分类问题。
4. k-近邻算法k-近邻算法(kNN)是一种基于样本相似度的分类算法。
在kNN中,新数据被分配到与它最相似的k个数据点的类别中。
kNN算法简单易用,对于非线性分类问题以及大量特征的数据集,kNN也有较好的表现。
然而,kNN算法对于数据的伸缩变形比较敏感,而且计算量比较大。
结论不同的分类算法各有优缺点。
决策树易于理解和解释,能够处理不同类型的数据,并且不像SVM需要进行数学规划,比较直观;朴素贝叶斯处理高维数据以及多种类型的数据时效果较好,但由于条件独立性假设会导致算法在处理弱相关特征数据时表现不佳;SVM具有良好的泛化性和准确率,特别适合处理高维数据和非线性分类问题,但是训练需要计算的量比较大;kNN算法简单易于实现,对于某些复杂的非线性问题效果比较好,但是在处理较大数据时,性能不如其他算法,而且对数据的变形比较敏感。
数据挖掘中的聚类算法与分类算法比较数据挖掘是一种从大规模数据集中提取模式或关系的技术。
在数据挖掘中,聚类算法和分类算法是两种常用的技术,它们分别用于发现数据中的相似模式和对数据进行分类。
本文将比较这两种算法的特点、应用场景、优缺点等方面。
首先,聚类算法和分类算法的基本原理和目标是不同的。
聚类算法旨在将数据集中的对象分成具有相似特征的多个群组,以便从数据中发现隐藏的结构和模式。
而分类算法则是对给定的数据对象进行分类,将其分到事先定义好的类别中。
其次,聚类算法和分类算法的应用场景不同。
聚类算法通常用于数据探索和分析,例如市场细分、用户群体分析等。
而分类算法通常用于预测和决策,例如垃圾邮件过滤、信用评分等。
在算法效果方面,聚类算法和分类算法各有优缺点。
聚类算法的优点是能够自动发现数据中的潜在结构,不需要先验知识,适用于未标记数据。
但是其缺点是难以确定最佳的聚类数目和聚类质量评价。
分类算法的优点是可以进行有监督学习,需要少量标记数据就能实现高精度的分类。
但是其缺点是需要预先定义类别,且对噪声和特征空间较大的数据不够稳定。
此外,聚类算法和分类算法在不同的数据特征下也会有不同的表现。
聚类算法对于具有明显分布结构的数据效果较好,而分类算法对于具有清晰类别的数据效果较好。
因此,在实际应用中,我们需要根据数据的特点选择适合的算法来处理。
在选择算法时,我们需要综合考虑数据的特点、应用场景、算法的优缺点等因素。
有时候,我们也可以将聚类算法和分类算法结合起来使用,例如可以先用聚类算法将数据集进行分组,然后再在每个小组中应用分类算法进行预测。
总的来说,聚类算法和分类算法各有其适用的场景和优缺点,我们需要根据具体情况选择合适的算法。
在实际应用中,我们也可以结合不同的算法来发挥它们的优势,以更好地解决问题。
希望本文的比较能够帮助读者更好地理解聚类算法和分类算法的特点和应用。
数据挖掘中的聚类算法与分类算法比较数据挖掘是一种从大量的数据中发现规律和模式的技术。
在数据挖掘中,聚类算法和分类算法是两种常用的方法。
本文将对聚类算法和分类算法进行比较,并介绍它们的不同特点。
首先,聚类算法是一种将数据分成不同组的方法。
聚类算法通过计算数据点之间的相似性来将数据划分为不同的簇。
常用的聚类算法有K-means、层次聚类和密度聚类等。
聚类算法可以帮助我们发现数据中隐藏的模式和结构,以及探索数据之间的关系。
聚类算法的主要优点是无监督学习,可以在没有标签的情况下对数据进行分组。
然而,聚类算法对于大规模数据集和高维数据的处理效果较差,且对初始参数的敏感性较高。
与之相反,分类算法是将数据分成预定义类别的方法。
分类算法通过学习先验知识和特征来确定数据所属的类别。
常用的分类算法有决策树、朴素贝叶斯和支持向量机等。
分类算法可以帮助我们对未知数据进行预测和分类。
分类算法的主要优点是可以利用标记数据进行有监督学习,因此对于小规模数据和有标签数据的处理效果较好。
然而,分类算法在遇到类别不平衡、特征选择不当等问题时性能可能下降。
总结起来,聚类算法和分类算法在数据挖掘中各有优势和限制。
聚类算法适用于无标签数据的探索和分组,可以揭示数据中的潜在模式和结构。
而分类算法适用于有标签数据的分类和预测,可以根据已有知识和特征对未知数据进行分类。
在实际应用中,我们可以根据具体问题和数据的特点选择合适的算法。
然而,聚类算法与分类算法之间也存在一些相似之处。
首先,它们都属于无监督学习算法,都可以对数据进行自动学习和模式发现。
其次,它们都需要对数据进行预处理和特征选择,以确保算法的有效性和准确性。
最后,无论是聚类算法还是分类算法,在应用过程中都需要根据实际需求进行参数调整和模型评估。
综上所述,聚类算法和分类算法在数据挖掘中有着重要的作用,并且各自有着不同的特点和应用场景。
在实际应用中,我们需要根据具体问题的需求和数据的特点选择合适的算法,以达到最好的挖掘结果。
数据挖掘中的分类算法比较实验研究数据挖掘是一种从大量数据中提取出有价值信息的过程,而分类算法是其中一种重要的数据挖掘技术。
分类算法旨在根据已知类别的训练样本来建立模型,然后对新数据进行分类。
在数据挖掘中,选择合适的分类算法对于正确分类和模型准确性至关重要。
本文将对几种常见的分类算法进行实验比较研究,包括决策树、支持向量机和朴素贝叶斯算法。
首先,我们将介绍决策树算法。
决策树是一种基于树形结构的分类算法,通过对特征值进行划分来建立决策规则。
决策树算法简单易懂,可解释性强,适用于处理具有离散和连续特征的数据。
在实验中,我们将使用ID3算法和C4.5算法对比决策树算法的性能差异。
实验结果显示,决策树算法在处理大量特征和类别较多的数据时,往往会出现过拟合的问题。
其次,我们将研究支持向量机算法。
支持向量机是一种基于统计学习理论的分类算法,其通过构建一个最优分离超平面来实现分类。
支持向量机算法具有良好的泛化能力和鲁棒性,适用于处理二分类和多分类问题。
在实验中,我们将使用线性核和高斯核函数对比支持向量机算法的分类性能。
实验结果表明,支持向量机算法在处理高维数据和较小样本集时表现出色,但对于大规模数据集计算复杂度较高。
最后,我们将探究朴素贝叶斯算法。
朴素贝叶斯算法基于贝叶斯定理和特征条件独立假设,通过计算后验概率进行分类。
朴素贝叶斯算法简单高效,适用于处理高维离散数据。
在实验中,我们将使用多项式朴素贝叶斯和高斯朴素贝叶斯算法对比其分类性能。
实验结果显示,朴素贝叶斯算法在处理文本分类和垃圾邮件过滤等任务中具有较高的准确性和效率。
综上所述,本文通过对决策树、支持向量机和朴素贝叶斯算法进行实验比较研究,发现不同的分类算法在不同的数据集和问题上表现出不同的优势和限制。
决策树算法易于理解和解释,但在处理复杂数据时容易过拟合;支持向量机算法具有强大的泛化能力,但在大规模数据集上计算复杂度较高;朴素贝叶斯算法简单高效,适用于处理高维离散数据。
数据挖掘中的分类算法对比分析一、引言数据挖掘是一种从数据中挖掘出隐藏的模式和关系的方法。
分类算法是数据挖掘中最常用的方法之一,它将数据分类到不同的类别中。
本文将对几种常用的分类算法进行对比分析。
二、算法介绍1. 决策树算法决策树是一种基于树型结构的分类算法,它以自顶向下的方式进行决策。
在决策树中,每个内部节点代表一个特征或属性,每个分支代表属性的不同取值,每个叶子节点代表一个分类结果。
2. 朴素贝叶斯算法朴素贝叶斯算法是一种基于概率的分类算法,它假设特征之间独立,根据贝叶斯定理计算概率来进行分类。
3. 支持向量机算法支持向量机算法是一种基于间隔最大化的分类算法,它通过寻找一个最优的超平面将数据分隔成两个类别。
4. k近邻算法k近邻算法是一种基于样本相似度的分类算法,它将未知样本分类到与它最相似的k个训练样本的类别中。
三、对比分析1. 算法复杂度决策树算法的时间复杂度为O(nlogn),空间复杂度为O(nlogn);朴素贝叶斯算法的时间复杂度为O(n),空间复杂度为O(n);支持向量机算法的时间复杂度为O(n3),空间复杂度为O(n2);k近邻算法的时间复杂度为O(nm),空间复杂度为O(n)。
这表明,在大规模数据集上,朴素贝叶斯算法和k近邻算法具有较好的性能,而决策树算法和支持向量机算法的时间和空间复杂度较高,并不适用于大规模数据集。
2. 算法精度在分类问题中,算法精度是一个非常重要的指标。
在已有数据集上进行测试,决策树算法的准确率通常在70%到90%之间;朴素贝叶斯算法的准确率通常在80%到95%之间;支持向量机算法的准确率通常在90%到98%之间;k近邻算法的准确率通常在70%到90%之间。
这表明,在精度方面,支持向量机算法表现最好,朴素贝叶斯算法和k近邻算法其次,决策树算法表现最差。
3. 算法鲁棒性算法鲁棒性指的是对数据噪声和异常值的容忍程度。
在这方面,决策树算法和k近邻算法表现较好,因为它们对数据噪声和异常值比较鲁棒;而支持向量机算法和朴素贝叶斯算法对数据的偏移和不平衡较敏感。
数据挖掘分类算法比较
分类是数据挖掘、机器学习和模式识别中一个重要的研究领域。
通过对当前数据挖掘中具有代表性的优秀分类算法进行分析和比较,总结出了各种算法的特性,为使用者选择算法或研究者改进算法提供了依据。
一、决策树(Decision Trees)
决策树的优点:
1、决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义。
2、对于决策树,数据的准备往往是简单或者是不必要的.其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性。
3、能够同时处理数据型和常规型属性。
其他的技术往往要求数据属性的单一。
4、决策树是一个白盒模型。
如果给定一个观察的模型,那么根据所产生的决策树很容易推出相应的逻辑表达式。
5、易于通过静态测试来对模型进行评测。
表示有可能测量该模型的可信度。
6、在相对短的时间内能够对大型数据源做出可行且效果良好的结果。
7、可以对有许多属性的数据集构造决策树。
8、决策树可很好地扩展到大型数据库中,同时它的大小独立于数据库的大小。
决策树的缺点:
1、对于那些各类别样本数量不一致的数据,在决策树当中,信息增益的结果偏向于那些具有更多数值的特征。
2、决策树处理缺失数据时的困难。
3、过度拟合问题的出现。
4、忽略数据集中属性之间的相关性。
二、人工神经网络
人工神经网络的优点:分类的准确度高,并行分布处理能力强,分布存储及学习能力强,对噪声神经有较强的鲁棒性和容错能力,能充分逼近复杂的非线性关系,具备联想记忆的功能等。
人工神经网络的缺点:神经网络需要大量的参数,如网络拓扑结构、权值和阈值的初始值;不能观察之间的学习过程,输出结果难以解释,会影响到结果的可信度和可接受程度;学习时间过长,甚至可能达不到学习的目的。
三、遗传算法
遗传算法的优点:
1、与问题领域无关切快速随机的搜索能力。
2、搜索从群体出发,具有潜在的并行性,可以进行多个个体的同时比较,鲁棒性好。
3、搜索使用评价函数启发,过程简单。
4、使用概率机制进行迭代,具有随机性。
5、具有可扩展性,容易与其他算法结合。
遗传算法的缺点:
1、遗传算法的编程实现比较复杂,首先需要对问题进行编码,找到最优解之后还需要对问题进行解码,
2、另外三个算子的实现也有许多参数,如交叉率和变异率,并且这些参数的选择严重影响解的品质,而目前这些参数的选择大部分是依靠经验.没有能够及时利用网络的反馈信息,故算法的搜索速度比较慢,要得要较精确的解需要较多的训练时间。
3、算法对初始种群的选择有一定的依赖性,能够结合一些启发算法进行改进。
四、KNN算法(K-Nearest Neighbour)
KNN算法的优点:
1、简单、有效。
2、重新训练的代价较低(类别体系的变化和训练集的变化,在Web环境和电子商务应用中是很常见的)。
3、计算时间和空间线性于训练集的规模(在一些场合不算太大)。
4、由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。
5、该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。
KNN算法缺点:
1、KNN算法是懒散学习方法(lazy learning,基本上不学习),一些积极学习的算法要快很多。
2、类别评分不是规格化的(不像概率评分)。
3、输出的可解释性不强,例如决策树的可解释性较强。
4、该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。
该算法只计算“最近的”邻居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本很靠近
目标样本。
无论怎样,数量并不能影响运行结果。
可以采用权值的方法(和该样本距离小的邻居权值大)来改进。
5、计算量较大。
目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。
五、支持向量机(SVM)的优缺点
SVM的优点:
1、可以解决小样本情况下的机器学习问题。
2、可以提高泛化性能。
3、可以解决高维问题。
4、可以解决非线性问题。
5、可以避免神经网络结构选择和局部极小点问题。
SVM的缺点:
1、对缺失数据敏感。
2、对非线性问题没有通用解决方案,必须谨慎选择Kernelfunction来处理。
六、朴素贝叶斯
优点:
1、朴素贝叶斯模型发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。
2、NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。
缺点:
1、理论上,NBC模型与其他分类方法相比具有最小的误差率。
但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的(可以考虑用聚类算法先将相关性较大的属性聚类),这给NBC 模型的正确分类带来了一定影响。
在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型。
而在属性相关性较小时,NBC模型的性能最为良好。
2、需要知道先验概率。
3、分类决策存在错误率
七、Adaboosting方法
1、adaboost是一种有很高精度的分类器。
2、可以使用各种方法构建子分类器,Adaboost算法提供的是框架。
3、当使用简单分类器时,计算出的结果是可以理解的。
而且弱分类器构造极其简单。
4、简单,不用做特征筛选。
5、不用担心overfitting。
八、Rocchio算法
Rocchio算法的突出优点是容易实现,计算(训练和分类)特别简单,它通常用来实现衡量分类系统性能的基准系统,而实用的分类系统很少采用这种算法解决具体的分类问题。
9各种分类算法比较
根据这篇论文所得出的结论,
Calibrated boosted trees的性能最好,随机森林第二,uncalibrated bagged trees第三,calibratedSVMs第四, uncalibrated neural nets第五。
性能较差的是朴素贝叶斯,决策树。
有些算法在特定的数据集下表现较好。