估计器主要用于分类任务,主要有两个函数:
- fit() : 训练算法。2个参数:训练数据集,类别。
- predict() : 预测算法,用以预测测试集类别,返回类别数组。 1个参数:测试集。
邻近算法
对新个体分类时,需要查找训练集,找到与该新个体最相似的个体,然后根据该个体所属类别将新个体归类到该类别下。
例如:当我们要预测三角形类别时,先找到与它最近距离的是三个菱形和一个圆形,但是菱形的数量大于圆形,故预测三角形的类别时菱形。如下图所示:
缺点: 不适合大数据集,且数据特征值呈离散分布。
距离度量
在讲到邻近算法时,我们说到距离。即,当你要对个体分类时,往往需要知道该个体与其他个体之间的距离。下面分别简要介绍三种距离方法。
欧氏距离
欧式距离,是利用勾股定理测量得到的真实距离,即两个特征向量长度平方和的平方根。
缺点: 如果特征值之间存在较大差异时,或者存在稀疏矩阵时,精确度就会明显的降低。
曼哈顿距离
两个特征在标准坐标系中绝对轴距之和。
异常值对曼哈顿距离的影响,小于欧式距离。
但是,如果数据集中某些特征值很大,这些特征会掩盖其他特征间的邻近关系。
余弦距离
指的是特征向量夹角的余弦值。
更适合处理异常值和稀疏数据的问题。
适用于特征向量很多的情况,但其也忽略了向量长度所包含的在某些场景下可能会有用的信息。
所以,距离问题的解决方法的选择,将直接影响到分类的结果。
下一节中,通过我们将讲解如何通过欧式距离进行分类。