判断这个水果是橙子还是柚子呢?一种办法是看它的邻居。来看看离它最近的三个邻居。在这三个邻居中,橙子比柚子多,因此这个水果很可能是橙子。祝贺你,你刚才就是使用K最近邻(k-nearest neighbours,KNN)算法进行了分类!
顺便说一句,其实并非一定要选择3个最近的邻居,也可选择2个、10个或10000个。这就是这种算法名为K最近邻而不是5最近邻的原因!
import matplotlib.pyplot as plt
# 设置坐标轴范围
plt.xlim(0, 5)
plt.ylim(0, 5)
# 绘制坐标轴
plt.axhline(0, color='black',linewidth=0)
plt.axvline(0, color='black',linewidth=0)
# 绘制横坐标
plt.text(4, -0.5, 'size',color='blue')
# 绘制纵坐标(颜色为蓝色)
plt.text(-0.5, 4, 'red', color='blue')
# 绘制点 A、B、C
plt.scatter([1, 4, 2], [1, 2, 4], c='red', marker='o', label='Points')
plt.text(1, 1, 'A', ha='right') #右边对齐
plt.text(4, 2, 'B', ha='right')
plt.text(2, 4, 'C', ha='right')
# 显示图例
plt.legend()
# 显示图形
plt.show()
再用毕达哥拉斯公式
c = a 2 + b 2 c = \sqrt{a^2 + b^2} c=a2+b2
1.在Netflix示例中,你使用距离公式计算两位用户的距离,但给电影打分时,每位用户的标准并不都相同。假设你有两位用户——Yogi和Pinky,他们欣赏电影的品味相同,但Yogi给喜欢的电影都打5分,而Pinky更挑剔,只给特别好的电影打5分。他们的品味一致,但根据距离算法,他们并非邻居。如何将这种评分方式的差异考虑进来呢?
2.假设Netflix指定了一组意见领袖。例如,Quentin Tarantino和WesAnderson就是Netflix的意见领袖,因此他们的评分比普通用户更重要。请问你该如何修改推荐系统,使其偏重于意见领袖的评分呢?
这就是回归(regression)。你将使用KNN来做两项基本工作——分类和回归:❑ 分类就是编组;❑ 回归就是预测结果(如一个数字)。
找出最近的邻居,进行平均数计算。
回归分析是一种统计学方法,用于研究两个或多个变量之间的关系。主要目的是建立一个数学模型,描述一个或多个自变量如何影响因变量。在回归分析中,我们通常使用已知数据来拟合模型,并利用这个模型来进行预测或理解变量之间的关系。
关键概念:
因变量(Dependent Variable): 需要解释或预测的变量,通常用 (Y) 表示。
自变量(Independent Variable): 用来解释或预测因变量的变量,通常用 (X) 表示。可以有一个或多个自变量。
回归方程(Regression Equation): 描述了自变量和因变量之间关系的数学公式。一般形式为 Y = f ( X ) + ϵ Y = f(X) + \epsilon Y=f(X)+ϵ,其中 ϵ \epsilon ϵ 是误差项。
回归系数 β \beta β(Regression Coefficients): 描述自变量对因变量影响的系数。回归方程中的参数就是这些系数。
残差(Residuals): 观测值与回归方程预测值之间的差异,即残差。残差用于评估模型的拟合程度。
回归分析主要分为两类:
简单线性回归(Simple Linear Regression): 当只有一个自变量时使用。回归方程的形式为 Y = β 0 + β 1 X + ϵ Y = \beta_0 + \beta_1 X + \epsilon Y=β0+β1X+ϵ
多元线性回归(Multiple Linear Regression): 当有两个或多个自变量时使用。回归方程的形式为 Y = β 0 + β 1 X 1 + β 2 X 2 + … + β k X k + ϵ Y = \beta_0 + \beta_1X_1 + \beta_2X_2 + \ldots + \beta_kX_k + \epsilon Y=β0+β1X1+β2X2+…+βkXk+ϵ
回归分析可以用于预测、解释变量之间的关系、评估因变量对自变量的敏感度等。在实际应用中,回归分析广泛用于经济学、生物统计学、社会科学、工程等领域。
但愿通过阅读本章,你对KNN和机器学习的各种用途能有大致的认识!机器学习是个很有趣的领域,只要下定决心,你就能很深入地了解它。❑ KNN用于分类和回归,需要考虑最近的邻居。❑ 分类就是编组。❑ 回归就是预测结果(如数字)。❑ 特征抽取意味着将物品(如水果或用户)转换为一系列可比较的数字。❑ 能否挑选合适的特征事关KNN算法的成败。