当前位置: 首页 > news >正文

秦皇岛 网站制作郑州达云通网站建设公司

秦皇岛 网站制作,郑州达云通网站建设公司,手机站建设,推广产品的文案1.理论知识 KNN(K-Nearest Neighbor)算法是机器学习算法中最基础、最简单的算法之一。它既能用于分类,也能用于回归。KNN通过测量不同特征值之间的距离来进行分类。 KNN算法的思想: 对于任意n维输入向量,分别对应于特征…

1.理论知识

KNN(K-Nearest Neighbor)算法是机器学习算法中最基础、最简单的算法之一。它既能用于分类,也能用于回归。KNN通过测量不同特征值之间的距离来进行分类。

KNN算法的思想:

对于任意n维输入向量,分别对应于特征空间中的一个点,输出为该特征向量所对应的类别标签或预测值。

KNN算法是一种非常特别的机器学习算法,因为它没有一般意义上的学习过程。它的工作原理是利用训练数据对特征向量空间进行划分,并将划分结果作为最终算法模型。存在一个样本数据集合,也称作训练样本集,并且样本集中的每个数据都存在标签,即我们知道样本集中每一数据与所属分类的对应关系。输入没有标签的数据后,将这个没有标签的数据的每个特征与样本集中的数据对应的特征进行比较,然后提取样本中特征最相近的数据(最近邻)的分类标签。

图2.1 KNN算法示意图

其中常用的距离量度方式包括:

  1. 闵可夫斯基距离
  2. 欧氏距离
  3. 曼哈顿距离
  4. 切比雪夫距离
  5. 余弦距离

2.算法流程图


3.关键代码

from numpy import *
import operator# k近邻分类算法
def classify0(inX, dataSet, labels, k):# 欧式距离计算dataSetSize = dataSet.shape[0]diffMat = tile(inX, (dataSetSize, 1)) - dataSetsqDiffMat = diffMat ** 2sqDistinces = sqDiffMat.sum(axis=1)  # 行方向求和distances = sqDistinces ** 0.5# 将距离值进行排序,并返回索引值sortedDistIndicies = distances.argsort()# 选择距离最小的k个点,并统计k个点中各个类别的数目classCount = {}for i in range(k):voteIlabel = labels[sortedDistIndicies[i]]classCount[voteIlabel] = classCount.get(voteIlabel, 0) + 1# 排序,选择类别数目最多的所属类别sortedClassCount = sorted(classCount.items(), key=operator.itemgetter(1), reverse=True)return sortedClassCount[0][0]# 归一化数值
def autoNorm(dataSet):minVals = dataSet.min(0)maxVals = dataSet.max(0)ranges = maxVals - minValsnormDataSet = zeros(shape(dataSet))m = dataSet.shape[0]  # 获取数据行数normDataSet = dataSet - tile(minVals, (m, 1))normDataSet = normDataSet / tile(ranges, (m, 1))return normDataSet, ranges, minValsif __name__ == '__main__':dataSet = [[3, 104], [2, 100], [1, 81], [101, 10], [99, 5], [98, 2]]
labels = ['类别1', '类别1', '类别1', '类别2', '类别2', '类别2']
test = [100, 90]  # 未知电影的接吻镜头次数、打斗镜头次数
normMat, ranges, minVals = autoNorm(array(dataSet))  # 归一化处理
k = 3
classifierResult = classify0(test, normMat, labels, k)
print("输入的k:\n ", k)
print('------------------------------------------------------')
print("数据为:\n ", dataSet)
print('------------------------------------------------------')
print("对应标签为:\n ", labels)
print('------------------------------------------------------')
print("输入数据为:\n ", test)
print('------------------------------------------------------')
print("预测的标签:\n", classifierResult)

4.实验结果


测试数据

表2.1 输入的数据集(输入k=3)

数据

3, 104

2, 100

1, 81

101, 10

99, 5

98, 2

类别

类别1

类别1

类别1

类别2

类别2

类别2

*其中3,104代表属性1为3, 属性2为104.


实验结果与分析

图2.2 实验结果


算法特点

优点:

  1. 简单易用。相比其他算法,KNN 算法比较简洁明。
  2. 模型训练时间快,上面说到 KNN 算法是惰性的。
  3. 预测效果好。
  4. 对异常值不敏感。

缺点:

  1. 对内存要求较高,因为该算法存储了所有训练数据。
  2. 预测阶段可能很慢。
  3. 对不相关的功能和数据规模敏感。

 其他实验(我是芒果酱点一个关注吧(σ′▽‵)′▽‵)σ)

  • k-Means聚类算法 HNUST【数据分析技术】(2024)-CSDN博客
  • PageRank Web页面分级算法 HNUST【数据分析技术】(2024)-CSDN博客
  • KNN分类算法 HNUST【数据分析技术】(2024)-CSDN博客
  • Apriori关联规则算法 HNUST【数据分析技术】(2024)-CSDN博客

http://www.yayakq.cn/news/480/

相关文章:

  • 用ps做网站画布一般建多大wordpress要的留邮箱
  • 网站建站公司广州9951026企业邮箱
  • 判断网站模板版本建设工程规范发布网站
  • 明星 卡片网站该怎么做天津手网站开发
  • 网站建设公司销售技巧石家庄做外贸的网站推广
  • 建设政务网站wordpress域名授权破解版
  • 网站模板 整站源码小白怎样建设公司网站
  • 教育网站建设平台做品牌折扣的网站
  • 广州建设网站专家wordpress頂部公告插件
  • 唐山做网站优化公司中介房产管理软件推荐
  • 企业网站 批量备案住房城乡建设部网站通报
  • 厦门 网站建设 网站开发 未来网络做网站应该画什么图
  • 网站建设遇到哪些问题网站建设实训心得体会
  • 基本建筑网站自己做网站要哪些东西
  • 网站没有域名开发网站公司排行榜
  • 网站开发合同是否要交印花税制作公司网页哪个公司好
  • 图片素材网站哪个最好什么是网络营销的特点
  • 网站建设费属于宣传费吗开发公司与物业公司的承包合同
  • 天津网站建设外贸新网站建设代理商
  • 网站怎么推广最如何做网站流程图
  • 成都网站制作东三环申请一个域名可以做多少网站
  • 百度做公司网站西安网站建设seo竞价
  • 加强健康养老网站建设免费企业官网怎么做
  • php手机网站开发教程网站建设设计公
  • 搭建个人网站的步骤青岛cms模板建站
  • 电商网站开发思路php网站建设视频教程
  • wordpress全站pjax网络公司的经营范围有哪些
  • 亿唐网不做网站做品牌考试题企业网站定制
  • 门户网站建设相关需求安阳县事业单位
  • 襄阳网站制作公司有哪些Dw做html网站