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算法的成败
  • 相关阅读:
    A/B test模块使用以及配置
    Linux下的tar压缩解压缩命令详解
    php mysql转义特殊字符的函数(转)
    cas server + cas client 单点登录 原理介绍
    php二维码的生产以及下载
    shiro 获取已经登录的用户
    Sql 根据多条件查询重复的数据 MySQL删除重复数据
    js base64 转PDF并下载,js baser64转图片并下载
    当同时安装Python2和Python3后,如何兼容并切换使用详解(比如pip使用)
    我的博客初始“话”
  • 原文地址:https://www.cnblogs.com/prelude1214/p/13636260.html
Copyright © 2011-2022 走看看