KNN算法
2021-05-23 13:30
标签:数据 ali 训练 输出 概念 统计 电影 大量 领域 一、概念:KNN(K Near Neighbor):K个最近的邻居,即每个样本都可以用它最接近的K个邻居来代表。 当k=1时,?可以用红方块代表,因为k=1时,方块离?最近 当k=5时,?可以用三角代表,因为k=5时,5个离?最近的图片中,有三个是三角,少数服从多数,所以可以用三角代表 二、判别方法 1、计算已知类别数据集中的点与当前点之间的距离 2、按距离递增次序排序 3、选取当前点距离最小的K个点 4、统计前k个点所在类别出现的概率 5、返回前k个点出现频率最高的类别作为当前点的预测类别 三、例题 1、根据欧式距离公式计算出《唐人街探案》各特征和其它影片各特征之间的距离 算出所有距离: 取k=5时,按递增排序,前4个电影都是喜剧片,有一个是爱情片,所以《唐人街探案》属于喜剧片 四、KNN特点 1、优点:简单有效、重新训练的代价低、算法复杂度低、适合类域交叉样本、适用大样本自动分类 2、缺点:惰性学习、类别分类不标准化、输出解释性不强、不均衡性、计算量大 过拟合:什么都学,主要的和次要的都学,把次要的当成主要的学,没有重点 欠拟合:基本的特征都没学会 K值选择会对KNN的结果产生重大影响 如果选择较小的k值,就相当于用较小的领域中的训练实例进行预测,“学习”的近似误差会减小,只有输入实例较近的训练实例才会对预测结果起作用。但缺点是“学习”的估计误差会增大,预测结果会对近邻的实例点非常敏感。如果邻近的实例点恰巧是噪声,预测就会出错。换句话说,k值的减小就意味着整体模型变得复杂,容易发生过拟合。 如果选择较大的k值,就相当于用较大领域中训练实例进行预测,其优点是可以减少学习的估计误差,但缺点是学习的近似误差会增大,这里与输入实例较远的(不相似的)训练实例也会对预测起作用,使预测发生错误,k值的增大就意味着整体的模型变得简单。 如果k=N,那么无论输入实例是什么,都将简单地预测它属于在训练实例中最多的类,这里,模型过于简单,完全忽略训练实例中的大量有用停下,是不可取的 在应用中,k值一般取一个比较小的数值,通常采用交叉验证法来选取最优的k值 KNN算法 标签:数据 ali 训练 输出 概念 统计 电影 大量 领域 原文地址:https://www.cnblogs.com/baoxuhong/p/9735277.html