分类的目的是根据数据集的特点构造一个分类函数或分类模型(常常称作分类器),该模型能把未知类别的样本映射到给定的类别中去。分类算法通过对已知类别训练集的分析,从中发现分类规则,依次预测新数据的类别。分类算法应用很广泛,包括风险评估、客户类别分类、文本检索和搜索引擎分类等。常用的分类算法。
- KNN算法
给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居),这K个实例的多数属于某个类,就把该输入实例分类到这个类中。 - List item
k-近邻算法步骤
- 计算已知类别数据集中的点与当前点之间的距离;
- 按照距离递增次序排序;
- 选取与当前点距离最小的k个点;
- 确定前k个点所在类别的出现频率;
- 返回前k个点所出现频率最高的类别作为当前点的预测分类。
- k-近邻算法特点
KNN方法在类别决策时,只与极少数的相邻样本有关,因此,采用这种方法可以较好地避免样本的不平衡问题。另外,由于KNN方法主要靠周围有限的邻近样本,而不是靠判别类域的方法来确定所属类别,因此对于类域的交叉或重叠较多的待分类样本来说,KNN方法较其他方法更为适合。
优点:准确性高,对异常值和噪声有较高的容忍度。
缺点:计算量较大,对内存的需求也较大。
针对该算法的不足,主要有以下两类改进的方法: