机器学习算法:K-Means(K-均值算法)|python与r语言代码实现

2018-10-1200:01:51数据结构与算法Comments2,623 views字数 845阅读模式

K-Means(K-均值算法)

它是一种解决聚类问题的无监督算法。其过程遵循一种简单易行的方法,通过特定数量的集群(假设k个集群)对给定的数据集进行分类。集群内的数据点对于对等组是均匀的和异构的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6547.html

还记得从墨迹中找出形状吗?K意味着某种类似的活动。你看这个形状并散布破译有多少不同的集群/人口存在!文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6547.html

机器学习算法:K-Means(K-均值算法)|python与r语言代码实现文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6547.html

k-均值如何形成集群:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6547.html

  1. k-均值为每个集群挑选K个点,称为质心。
  2. 每个数据点形成具有最接近质心的簇,即K簇。
  3. 根据现有的群集成员查找每个簇的质心。这里我们有新的质心。
  4. 当我们有新的质心时,重复第2步和第3步,从新的质心找到每个数据点最近的距离,并与新的K簇关联。重复这个过程直到收敛发生,即质心不变。

如何确定K值:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6547.html

在k-均值中,我们有簇,每个簇都有它自己的质心。质心与群集中的数据点之间的差的平方和构成了该群集的平方值和。此外,当添加所有集群的平方值之和时,它就变成集群解决方案的平方值之和内的总和。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6547.html

我们知道,随着集群数量的增加,这个值持续减少,但如果绘制结果,您可能会看到平方距离之和急剧减少,直到某个值k,然后缓慢得多。在这里,我们可以找到最佳的簇数。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6547.html

机器学习算法:K-Means(K-均值算法)|python与r语言代码实现文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6547.html

Python 代码

#Import Library
from sklearn.cluster import KMeans
#Assumed you have, X (attributes) for training data set and x_test(attributes) of test_dataset
# Create KNeighbors classifier object model 
k_means = KMeans(n_clusters=3, random_state=0)
# Train the model using the training sets and check score
model.fit(X)
#Predict Output
predicted= model.predict(x_test)

R 语言代码文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6547.html

library(cluster)
fit <- kmeans(X, 3) # 5 cluster solution
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/suanfa/6547.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/suanfa/6547.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定