机器学习算法学习kNN(入门)&demo(持续更新)

1.knn算法

(1)基本情况:

(a)算法机制:

给定测试样本x,基于某种距离度量找出训练集中与其最近的k个训练样本,然后基于k个训练样本的标签来对测试样本x进行预测——找到距离x合适距离的k个样本,用k个样本的标签来预测x的标签。

我们要判断 是什么颜色的,找到与其距离最近的5个点,有4个是红色的,有1个是绿色的。因此我们认为 是属于红色的集合。

(b)算法要素:

训练和测试样本的距离(欧式距离)
k值(k个样本)
分类决策规则(样本标签)

(c)算法流程:
  1. 计算测试样本x到每个训练样本的距离
  2. 按照距离的大小顺序排序
  3. 从小到大选取k个距离
  4. 统计这k个距离对应的训练样本的标签的频数
  5. 频数最高的训练样本的标签为x的标签
(d)算法优点:

精度高,对异常值不敏感,空间复杂度高
缺点:
计算复杂度高,空间复杂度高。

(e)应用:

垃圾邮件过滤,图像特征识别,推荐。
均需要查看大量样本提取特征垃圾邮件关键词,图像关键词,用户特征(训练),根据训练结果进行kNN

(2)分布代码范例1:肿瘤的肿块大小和时间与良性/恶性肿瘤的关系

# raw_data_x是特征,raw_data_y是标签
# 0为良性,1为恶性
raw_data_X = [[3.393533211, 2.331273381],
              [3.110073483, 1.781539638],
              [1.343853454, 3.368312451],
              [3.582294121, 4.679917921],
              [2.280362211, 2.866990212],
              [7.423436752, 4.685324231],
              [5.745231231, 3.532131321],
              [9.172112222, 2.511113104
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值