3.5:基于Python的KNN算法简单实现
2024-10-20 16:13:54
〇、目标
1、使用pycharm工具创建项目demo;
2、使用python语言实现KNN算法。
一、创建脚本文件
二、编写KNN算法程序
KNN算法所阐述的核心思想在KNN.py文件的注释部分具有详细的介绍,编辑KNNTest.py文件进行KNN算法思想的验证实现。KNN.py代码为:
# coding=utf-8 from numpy import *
import operator def createDataSet():
group = array([[1.0, 0.9], [1.0, 1.0], [0.1, 0.2], [0.0, 0.1]])
labels = ['A', 'A', 'B', 'B']
return group, labels def KNNClassify(newInput, dataSet, labels, k):
numSamples = dataSet.shape[0] # shape[0]表示行数 diff = tile(newInput, (numSamples, 1)) - dataSet # 按元素求差值
squaredDiff = diff ** 2 # 将差值平方
squaredDist = sum(squaredDiff, axis = 1) # 按行累加
distance = squaredDist ** 0.5 # 将差值平方和求开方,即得距离 sortedDistIndices = argsort(distance)
classCount = {} # define a dictionary (can be append element)
for i in range(k):
voteLabel = labels[sortedDistIndices[i]]
classCount[voteLabel] = classCount.get(voteLabel, 0) + 1 maxCount = 0
for key, value in classCount.items():
if value > maxCount:
maxCount = value
maxIndex = key return maxIndex
KNNTest.py代码为:
# coding=utf-8
import KNN
from numpy import *
dataSet, labels = KNN.createDataSet()
testX = array([1.2, 1.0])
k = 3
outputLabel = KNN.KNNClassify(testX, dataSet, labels, 3)
print("Your input is:", testX, "and classified to class: ", outputLabel) testX = array([0.1, 0.3])
outputLabel = KNN.KNNClassify(testX, dataSet, labels, 3)
print("Your input is:", testX, "and classified to class: ", outputLabel)
三、运行观察结果
最新文章
- H5 表格的结构
- C#浅析单例模式
- Tomcat 项目部署方式
- 如何将Android Studio项目提交(更新)到github
- 数据采集:完美下载淘宝Ip数据库 简单的程序节省60元人民币而不必购买数据库
- 淮安团购网美团联盟网赚版 v5.7
- for-of循环
- POJ 2482 Stars in Your Window
- entos 7虚拟机安装手册
- Android app security安全问题总结
- 我的第二个开源库SuperTextView——中文文档
- MacOS下安装rvm的几点注意
- php unset对json_encode的影响
- [转]GitHub for Windows 安装失败,An error occurred attempting to install github 的解决办法
- python paramiko自动登录网络设备抓取配置信息
- Py-lamda表达式学习【转载】
- Pivot
- 修改elasticsearch5,搜索结果最大10000
- day04作业
- java 关于操作Collection的一点说明