K-近邻(KNN)

KNN原理:
确定待检测对象的目标值------利用距离检测离对象最近的K个对象----把K个对象占绝大多数的目标,作为检测对象的目标值。
举个例子: 假如你要推测一个人的薪资水平(离散化),找出他居住地附近最近的k个人的薪资水平,取众数——得到推测对象薪资水平。

特征空间:
模型输入(特征 x 二维数组(矩阵))——>目标值(y 二维数组(only一列))

特征空间

以各个特征作为坐标轴建立一个坐标系,坐标系对应的空间就是特征空间。
每一个数据,对应特征空间中一个点。
k-近邻:
在一个特征空间中,找到离某个样本最近的样本的大多数属于一个类别,该样本也属于该类别。
k近邻
欧氏距离:

欧式距离
假设每个样本有n个特征值。
求出待预测的样本与每个样本的欧式距离,找出距离最近的k(自己规定)个样本,这k个样本中的大多数属于哪一类别——待检测样本就属于哪个样本。


Scikit-learn

  • 实现了很多知名机器学习算法
  • 分类、聚类、回归
  • 特征工程

API

sklearn.neighbors.KNeighborsClassifier(n_neighbors=5)
n_neighbors:int,可选(默认= 5),k_neighbors查询默认使用的邻居数

from sklearn.neighbors import 
# 1. 获取数据
x = [[0],[1],[2],[3]]      # 特征值
y = [0,0,1,1]      # 目标值
# 2. 处理数据
# 3. 特征工程
# 4. 机器学习
# 4.1 构建模型     实列化      估计器
estimator = KNeighborsClassifier(n_neighbors =2)
# 4.2训练模型     使用fit()    方法进行训练
estimator.fit(x,y)
# 5. 模型评估 
estimator.predict([[1]])

距离度量

1.欧氏距离

公式:
欧式距离


(以下距离了解)

2.曼哈顿距离

城市街区距离
曼哈顿距离
公式:
曼哈顿距离
n维:相同特征相减取绝对值之和

3.切比雪夫距离

国际象棋国王可以移动到相邻8个位置中任意一个。国王从(x1,y1)到(x2,y2)走的最少步数
公式:
切比雪夫

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值