橙子还是柚子

抽取特征
image.png

如果有一个水果在两个集合的中间位置,我们如何确定它是橙子还是柚子?
image.png
我们可以查看它的三个邻居,三个邻居中橙子比柚子多,那么这个水果很可能就是橙子。
这就是用K最近邻(KNN)算法进行分类。

创建推荐系统

假设我们要创建一个电影推荐系统。

  • 现将所有用户放在一个图表中;
  • 这些用户的位置取决于其喜好,喜好相似的用户距离较近;
  • 假设你要某人推荐电影,可以找出离他最近的五个用户,推荐他们喜欢的电影给目标用户;

我们如何确定两个用户相似程度?

特征抽取

我们根据特征绘图,每个用户都有自己的坐标点。
image.png
要计算两点的距离,可使用毕达哥拉斯公式。
image.png
但用户的特征不止两个,我们可以在用户注册时让用户指出他们对不同电影的喜欢程度。
image.png
我们就获得了五个维度的数据,但计算公式不变。
image.png
用户如果评分越多,算法越准。

回归

如果你要对一个用户对某部电影的评分,你可以计算他的相似用户评分的平均值获得。这就是回归。
KNN算法

  • 分类就是编组
  • 回归就是预测结果

回归的实际场景
预测一个面包店要准备多少面包,建立一下维度数据,还需要有历史数据

  • 天气指数1~5
  • 是不是周末或节假日
  • 有没有活动

只需要找到与当天的相近的情况,就可以确定需要准备多少面包。

挑选适合的特征

例如选择电影的特征

  • 与要推荐的电影紧密相关的特征
  • 不偏不倚的特征(不能只提供单一类型的电影)

    机器学习

  • 电影推荐

  • OCR(光学字符识别)
  • 垃圾邮件过滤器

提取特征,看看它的邻居是谁,得出结论