zoukankan      html  css  js  c++  java
  • 《图解算法》读书笔记(十)K最近邻算法

    章节内容

    • 学习使用K最近邻算法创建分类系统
    • 学习特征抽取
    • 学习回归,即预测数值
    • 学习K最近邻算法的应用案例和局限性

    橙子还是柚子

    假如让你分类一个水果是橙子还是柚子,我们知道橙子和柚子的大小和颜色都不一样,我们可以通过这两个进行判断。
    因此我们建立了X轴为大小,Y轴为颜色的二维坐标轴,已知有N个样本水果在坐标轴上。
    我们将要分类的水果放入坐标轴,然后根据距离该水果最近的3个样本水果的分类来判断该水果的分类。
    这就是K最近邻算法,KNN算法虽然简单却很有用。

    创建推荐系统

    现在要为用户创建一个电影推荐系统。从本质上来说,这类似于水果分类问题。
    我们将所有用户放在一个坐标轴中。用户在图表中的位置取决于其喜好,因此喜好相近的用户距离较近。
    我们要向某个用户推荐电影,只需要找到与他最近的N个用户即可,将这N个用户的喜爱电影推荐给他。

    特征提取

    前面的水果例子,我们通过大小和颜色来分类比较。在专业上讲大小和颜色就是特征。

    回归

    前面的电影推荐系统,加入我们需要预测被推荐者讲给这些电影打几分,我们可以从挑选的最近的N个用户的分数中去取平均值。
    这就是回归。
    KNN的两项基本工作就是分类和回归。

    挑选合适的特征

    比如之前的电影推荐系统,合适的特征可能为:

    • 与要推荐的电影紧密相关的特征
    • 不偏不倚的特征

    机器学习简介

    KNN算法是进入神奇的机器学习领域的领路人

    OCR

    指的是光学字符识别。
    OCR使用的就是KNN算法,在系统浏览大量的数字图像后,将这些数字的特征提取出来,遇到新图像时,找出与它最近的邻居

    创建垃圾邮件过滤器

    朴素贝叶斯分类器

    小结

    1. KNN用于分类和回归,需要考虑最近的邻居
    2. 分类就是编组
    3. 回归就是预测结果
    4. 特征抽取意味着将物品转换为一系列可以比较的数字
    5. 能否挑选合适的特征事关KNN算法的成败
  • 相关阅读:
    地图瓦片PNG8格式理解
    python gdal3.0安装记录
    gdal------坐标转换记录
    地图切片(加载)原理资料收集与整理
    cesium学习笔记001
    设计模式学习——观察者模式(c++)
    javascript的数组方法
    git的基本使用
    keep-alive
    防抖函数
  • 原文地址:https://www.cnblogs.com/prelude1214/p/13636260.html
Copyright © 2011-2022 走看看