分类knn

  • k近邻算法,是一个分类算法,监督学习
  • 1计算样本点到所有样本点的距离
  • 对到现在已知样本的距离进行排序
  • 找出距离最近的前k个
  • 统计前k中每种类别的个数
  • 前k个样本中类别最多的,便是当前样本的分类
import pandas as pd

import numpy as np


排序好的数据
df = pd.DataFrame({"序号":["A","B","C","D","E","F"],"接吻镜头":[10,50,16,19,67,66],"打斗镜头":[80,6,72,68,11,16],"类别":[2,1,2,2,1,1]})


新样本点
sample = np.array([55,40])
#计算样本点到 所有已知样本点的距离
cost = df[["接吻镜头","打斗镜头"]]-sample

df["距离"]= np.linalg.norm(cost.values,axis=1)

根据距离排序最近的前三个(因为是3nn)
df.sort_values("距离")[:3]["类别"].value_counts().idxmax()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值