????????KNN(K-Nearest Neighbor)最邻近分类算法是数据挖掘分类(classification)技术中最简单的算法之一,其指导思想是”近朱者赤,近墨者黑“,即由你的邻居来推断出你的类别。
????????KNN最邻近分类算法的实现原理:为了判断未知样本的类别,以所有已知类别的样本作为参照,计算未知样本与所有已知样本的距离,从中选取与未知样本距离最近的K个已知样本,根据少数服从多数的投票法则(majority-voting),将未知样本与K个最邻近样本中所属类别占比较多的归为一类。
?????????KNN算法的关键:
????????(1) 样本的所有特征都要做可比较的量化
????????(2) 样本特征要做归一化处理
????????(3) 需要一个距离函数以计算两个样本之间的距离
????????(4) 确定K的值
???
?????对于"监督学习"(supervised learning),其训练样本是带有标记信息的,并且监督学习的目的是:对带有标记的数据集进行模型学习,从而便于对新的样本进行分类。而在“无监督学习”(unsupervised learning)中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。对于无监督学习,应用最广的便是"聚类"(clustering)。 ? ? ? ? "聚类算法"试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”(cluster),通过这样的划分,每个簇可能对应于一些潜在的概念或类别。
????????kmeans算法又名k均值算法,K-means算法中的k表示的是聚类为k个簇,means代表取每一个聚类中数据值的均值作为该簇的中心,或者称为质心,即用每一个的类的质心对该簇进行描述。 ? ? ? ? 其算法思想大致为:先从样本集中随机选取 k个样本作为簇中心,并计算所有样本与这 k个“簇中心”的距离,对于每一个样本,将其划分到与其距离最近的“簇中心”所在的簇中,对于新的簇计算各个簇的新的“簇中心”。 ? ? ? ? 根据以上描述,我们大致可以猜测到实现kmeans算法的主要四点: ??? ? ? ? (1)簇个数 k 的选择 ??? ? ? ? (2)各个样本点到“簇中心”的距离 ??? ? ? ? (3)根据新划分的簇,更新“簇中心” ??? ? ? ? (4)重复上述2、3过程,直至"簇中心"没有移动
????????朴素贝叶斯最关键的就是 (强制认为每种指标都是独立的)。不同于其它分类器,朴素贝叶斯是一种基于概率理论的分类算法;总体上来说,朴素贝叶斯原理和实现都比较简单,学习和预测的效率都很高,是一种经典而常用的分类算法。朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。其中 naive(朴素)是指的对于模型中各个 feature(特征) 有强独立性的假设,并未将 feature 间的相关性纳入考虑中。 ????????朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。 ??朴素贝叶斯是生成方法,也就是直接找出特征输出Y和特征X的联合分布P(X,Y)P(X,Y),然后用P(Y|X)=P(X,Y)/P(X)P(Y|X)=P(X,Y)/P(X)得出。
|