博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
kNN与kMeans聚类算法的区别
阅读量:7289 次
发布时间:2019-06-30

本文共 639 字,大约阅读时间需要 2 分钟。

KNN

K-Means

目的是为了确定一个点的分类

目的是为了将一系列点集分成k类

KNN是分类算法

K-Means是聚类算法

监督学习,分类目标事先已知

非监督学习,将相似数据归到一起从而得到分类,没有外部分类

训练数据集有label,已经是完全正确的数据

训练数据集无label,是杂乱无章的,经过聚类后才变得有点顺序,先无序,后有序

没有明显的前期训练过程,属于memory-based learning

有明显的前期训练过程

K的含义:“k”是用来计算的相邻数据数。来了一个样本x,要给它分类,即求出它的y,就从数据集中,在x附近找离它最近的K个数据点,这K个数据点,类别c占的个数最多,就把x的label设为c

K的含义:“k”是类的数目。K是人工固定好的数字,假设数据集合可以分为K个簇,由于是依靠人工定好,需要一点先验知识

K值确定后每次结果固定

K值确定后每次结果可能不同,从 n个数据对象任意选择 k 个对象作为初始聚类中心,随机性对结果影响较大

时间复杂度:O(n)

时间复杂度:O(n*k*t),t为迭代次数

相似点:都包含这样的过程,给定一个点,在数据集中找离它最近的点。即二者都用到了NN(Nears Neighbor)算法,一般用KD树来实现NN。

 

参考引用:

  1. k-Means:http://blog.pluskid.org/?p=17

 

转载于:https://www.cnblogs.com/190260995xixi/p/5945652.html

你可能感兴趣的文章
书单丨打开投资理财之路,从这25本书开始
查看>>
Less 创建css3动画@keyframes函数
查看>>
.NET Framework 4 与 .NET Framework 4 Client Profile的区别与联系
查看>>
Que pensez-vous de air jordan pas cher
查看>>
SQL Server 2008创建定期自动备份任务(转)
查看>>
SimpleDateFormat
查看>>
epoll_wait会被系统中断唤醒
查看>>
Java设计模式-代理模式
查看>>
Android--sharepreference总结
查看>>
在博客园已经一年多时间了,今天开通博客了!
查看>>
给定矩阵行数和矩阵列数,顺时针打印矩阵(从0开始)
查看>>
个人阅读作业week7
查看>>
Java数据类型(2)------自动封装拆箱
查看>>
java基本语法
查看>>
oracle多表关联多字段update
查看>>
欧拉函数
查看>>
AngularJS源码解析4:Parse解析器的详解
查看>>
HTTP错误 404.17 - Not Found" IIS 7.5 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理...
查看>>
busybox inetd tftpd
查看>>
busybox reboot 无效
查看>>