资源库-数据挖掘技术与应用 实验四:分类算法-KNN邻近算法应用

2023年9月-实验四

【实验名称】

 分类算法-KNN邻近算法实现与应用

【实验目的】

使用python实现KNN邻近算法,求出某个电影G的分类。K=5

电影名称

打斗次数

接吻次数

电影类别

A

3

104

Roman

B

2

100

Roman

C

1

81

Roman

D

101

10

Action

E

99

5

Action

F

98

2

Action

G

3

104

【实验内容】

1、程序清单

from sklearn.neighbors import KNeighborsClassifier
import numpy as np

# 准备一下数据
x = np.array([[3, 104], [2, 100], [1, 81], [101, 10], [99, 5], [98, 2]])  # fight scenes and kiss scenes
y = np.array(['Roman', 'Roman', 'Roman', 'Action', 'Action', 'Action'])  # movie classes

# 计算距离
gx = 3
gy = 104
list = []
for i in range(6):
    list.append({pow(pow(gx-x[i][0], 2)+pow(gy-x[i][1], 2), 0.5): y[i]})

print(list[:5])

# 设置K=5
knn = KNeighborsClassifier(n_neighbors=5)
# 带入值计算一个model
knn.fit(x, y)
# 预测
print(knn.predict([[3, 104]]))

2、结果截图

【实验体会】

把带分类点的数据投射至一个多维平面内,与其他点计算数学意义上的欧式距离。然后将距离降序排序,取前K个数的类别的众值,即可完成对这个点的分类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值