K近邻算法&计算距离&scikit-learn数据集获取——机器学习

一、K近邻算法

1 什么是K近邻算法(k-Nearest Neighbours KNN)

  • 简介

    • 最近邻算法是一种分类算法
    • 1968年由Cover和Hart提出,应用场景有字符识别、文本分类、图像识别等领域。
    • 该算法的思想:一个样本与数据集中的k个样本最相似,这k个样本中的大多数属于同一个类别
  • 特点
    根据邻居的位置来推断自己的位置。

  • 定义
    如果一个样本在特征空间中的k个最相似样本中的大多数属于同一个类别,则该样本也属于这个类别.

  • 案例-电影类型分析
    在这里插入图片描述

3 k近邻算法API

sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)

  • n_neighbors:int,可选,默认5

4 k值的选择

  • k值的考虑
  • k值过小:容易受到异常点的影响
  • k值过大:容易受到样本均衡的影响

1、选择较小的k值,就相当于用较小领域中的训练实例进行预测,“学习”近似误差会减小,只有与输入实例较近或相似的训练实例才会对预测结果起作用,学习的估计误差会增大,换句话说K值减小就意味着整体模型变得复杂,容易发生过拟合

2、选择较大的K值时,与输入实例较远的训练实例与会对预测器起作用,使预测发生错误,且K值的增大就意味着整体模型变得简单

  • 近似误差和估计误差

近似误差:对现有训练集的训练误差,关注训练集,如果近似误差过小可能会出现拟合的现象,对现有训练集能够很好的预测,但是对位置的测试样本出现较大偏差的预测。模型本身不是最接近最佳模型。
估计误差:可以理解为对测试集的测试误差,关注测试集,估计误差小说明对未知数据的预测能力好,模型本身最接近最佳模型。

二、距离计算

1 闵式距离

  • 定义
    闵式距离包括欧氏距离、曼哈顿距离、切比雪夫距离等

  • 缺点:

    • 将各个变量的量纲(scale)也就是单位相同看待了
    • 未考虑各个分量的分布(期望、方差等)可能是不同的
  • 欧氏距离公式
    在这里插入图片描述

  • 曼哈顿距离

在这里插入图片描述

  • 切比雪夫距离(Chebyshev Distance)
    在这里插入图片描述
  • 闵可夫斯基距离:
    在这里插入图片描述

2 标准化欧氏距离

在这里插入图片描述

3 余弦距离

在这里插入图片描述

4 汉明距离

在这里插入图片描述

5 杰卡德距离

在这里插入图片描述

6 马氏距离

在这里插入图片描述

三、Scikit-learn

1 Scikit-learn

  • 安装及使用
# 安装
pip3 install scikit-learn==0.19.1

# 导入
import sklearn
  • 包含的内容
    在这里插入图片描述
    在这里插入图片描述

2 数据集

  • 小数据集的获取
from sklearn.datasets import load_iris
iris = load_iris()
print(iris)
  • 大数据集的获取

API:sklearn.datasets.fetch_20newsgroups()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值