机器学习1 - K近邻算法 + 面试题

一、K 近邻算法 (KNN)

  • 是一种非参, 监督学习的分类器 (非参是指KNN不需要假设)
  • 可用于解决分类回归问题
  • 根据点与点之间的距离来捕捉相似性
    • Euclidean Distance-平方差求和再开方
    • Manhattan Distance-坐标差的绝对值求和
    • Hamming Distance

二、K 近邻算法实现步骤

KNN算法有三个重要的考虑因素:K值的选择距离度量方式分类决策规则

  1. 初始化 k 的大小, k 为近邻的数量 (k-the number of neighbor)
  2. 对于在数据集上的每个样本
    • 假设我们有一个数据点
    • 计算每个样本跟这个数据点的距离 (列表: 索引-距离)
  3. 按距离从小到大(升序)对该列表进行排序
  4. 获取前 k个距离最大的索引
  5. 用该索引获取标签
  6. 如果回归,则返回 K 个标签的平均值
  7. 如果是分类,返回 K 个类别标签
import numpy as np
from scipy.stats import mode
# 从零实现 KNN
def predict_datapoint(pt, Xtrain, Ytrain, k)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值