KNN VS. K-means

有一阵子常常把KNN和K-means搞混,今天来聊聊两者的区别~

KNN(k-nearest neighbors)

KNN是supervised算法,主要解决分类问题。
算法就跟他的名字一样直观,去找最近的点来标记新资料,主要的参数为K,也就是我们要抓取k个相近的资料点来标示新的资料,假设我们设定k=3,那就是将想标示的资料点抓取离他最近的3个training data,如果是classification,则采用投票制(多数决),若是regression就使用平均数。因为KNN是透过距离来计算,所以在应用时要记得先normalize。另外,如果资料中有极端值,选择大一点可K可以降低极值的影响。通常K会落在5-10之间。

K-means

K-means是unsupervised算法,主要解决聚类问题(cluster)。
因为是unsupervised,所以放进去的资料本身并没有label,主要的参数也称为K,但这里的K是指我们想要把资料分成K组。主要的算法为:先将training data随机分成k组,然後计算每一组的中心点,接着对每一个点来将他分类到与他最近的中心点的组别(要注意每当归类一个新的点到新的组时,中心点会改变),就这样分类直到每个点都在离他最近的组中。因为算法中也牵涉到距离,所以在应用时也要记得先normalize。

[今日心得]
今天去爬了17小时的山,加上开车时间已经22个小时了(剩两个小时是睡觉时间),所以导致今天文章有点短,之後有空会来把一些python例子补上~


<<:  Day 12 - 用 canvas 复刻 小画家 文字填写

>>:  [Day11] Custom HTML5 Video Player

未来狂想:运输领域

人的科技文明发展始终来自於人性 在科技发展发达的现今,各式各样的技术成熟,在很多的领域都可以发现各种...

Day3-React Hook 篇-认识 useEffect

今天要介绍的是常用的 hook,useEffect。 功用 处理各种的 side effect,针对...

[Day 7] SRE - 故障排除小技巧

故障排除小技巧 通常故障排除的流程如下图 常见的陷阱 误解故障的现象,扭曲现象的含义,只会浪费时间追...

Week34 - 从 JavaScript 到 Golang 的启发之旅 [Server的终局之战系列]

本文章同时发布於: Medium iT 邦帮忙 大家好,这篇文章主要是六角学院铁人赛与 2020 i...

DAY02 初探资料分析

一、何谓资料分析 资料分析是一种统计方法,其主要特点是多维性和描述性,有些几何方法有助於揭示不同的资...