spssk均值聚类报告_K均值聚类

spssk均值聚类报告_K均值聚类机器学习中的k均值聚类属于无监督学习,所谓k指的是簇类的个数,也即均值向量的个数。算法初始状态下,要根据我们设定的k随机生成k个中心向量,随机生成中心向量的方法既可以随机从样本中抽取k个样本作为中心向量,也可以将中心向量固定在样本的维度范围之内,避免中心向量过偏远离大多数样本点。然后每个样本点需要与k个中心向量分别计算欧氏距离,取欧氏距离最小的中心向量作为该样本点的簇类中心,当第一轮迭代完成之后,…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

机器学习中的k均值聚类属于无监督学习,所谓k指的是簇类的个数,也即均值向量的个数。算法初始状态下,要根据我们设定的k随机生成k个中心向量,随机生成中心向量的方法既可以随机从样本中抽取k个样本作为中心向量,也可以将中心向量固定在样本的维度范围之内,避免中心向量过偏远离大多数样本点。然后每个样本点需要与k个中心向量分别计算欧氏距离,取欧氏距离最小的中心向量作为该样本点的簇类中心,当第一轮迭代完成之后,中心向量需要更新,更新的方法是每个中心向量取前一次迭代所得到各自簇类样本点的均值,故称之为均值向量。迭代终止的条件是,所有样本点的簇类中心都不在发生变化。
在spss中导入的二维数据如下所示:
在这里插入图片描述
点击菜单栏的“分析”,找到“分类”选中“k-均值聚类”
在这里插入图片描述
将需要进行聚类的变量选入右侧框中
在这里插入图片描述
聚类数由用户设定,方法一般选择“迭代与分类”,“读取初始聚类中心”和“写入最终聚类中心”一般不勾选,除非自定义的聚类中心(自定义聚类中心一般意义不大),如果最后想将最终迭代得到的聚类中心写入指定文件,那么可以勾选第二个复选框。
在这里插入图片描述
设定迭代次数,收敛条件默认为0,即当前均值向量与前一次迭代得到的均值向量之差。
在这里插入图片描述
保存按钮,勾选以上复选框,最终得到的结果会包含以上两个信息。
在这里插入图片描述
选项按钮中,一般勾选以上复选框,spss会统计出初始聚类的中心向量以及每个样本的聚类信息(包括每个样本所属类别,与各自簇类中心向量的欧氏距离)。之后,点击“确定”按钮,完成均值聚类。
得到初始聚类中心和迭代历史记录,我们发现第二次迭代的时候,聚类中心就已经不变了。
在这里插入图片描述
以下是每个样本所属类别以及每个样本与各自簇类中心的欧氏距离。
在这里插入图片描述
在这里插入图片描述
以上是最终得到的聚类中心的横纵坐标,以及聚类中心与中心之间的欧氏距离、每个类别中的样本数量。
以下是通过python编程实现k-均值聚类算法所得结果:

最终得到的聚类中心:
[[ 2.6265299   3.10868015]
 [-2.46154315  2.78737555]
 [-3.53973889 -2.89384326]
 [ 2.65077367 -2.79019029]]

Jetbrains全家桶1年46,售后保障稳定

在这里插入图片描述
显然,与spss得到的聚类结果是一样的。
关于均值聚类的簇类数(即k值),目前并没有方法能确切地确定k的值是多少,但是通常可以通过枚举法和肘方法来大致确定k。
所谓枚举法,即通过取不同的k值来观察最终的聚类结果,选取最优结果所对应的k作为该均值聚类的最终k值。
肘方法是通过绘制不同的k所对应的样本数据点与各自聚类中心的距离平均值来确定k。

import numpy as np
from sklearn.cluster import KMeans
from scipy.spatial.distance import cdist
import matplotlib.pyplot as plt

cluster1 = np.random.uniform(0.5, 2.0, (2, 15))
cluster2 = np.random.uniform(2.5, 4.0, (2, 15))
X = np.hstack((cluster1, cluster2)).T

fig = plt.figure()
ax1 = fig.add_subplot(121)
plt.scatter(X[:, 0], X[:, 1], marker="^", color='m', edgecolors='k', alpha=0.8, s=50)
plt.title("Raw data")

K = range(1, 10)
meandistortions = []
for k in K:
    kmeans = KMeans(n_clusters=k)
    kmeans.fit(X)
    meandistortions.append(sum(np.min(cdist(X, kmeans.cluster_centers_, 'euclidean'), axis=1)) / X.shape[0])

ax2 = fig.add_subplot(122)
plt.plot(K, meandistortions, 'bx-')
plt.xlabel('number of clusters K', fontsize=15)
plt.ylabel('Average distance to centroid', fontsize=15)
plt.title('Elbow for KMeans clustering');
plt.show()

在这里插入图片描述
通过左图我们发现该样本数据集明显应该分为两个簇类,即k=2,当然如果在复杂数据集的情况下我们可能无法用右眼直接看出簇类数,此时就要借助右图的肘方法,即选取某一点该点的前一点至该点下降最快,而该点至该点的后一个点缓慢下降的点所对应的横轴作为均值聚类的k值。 右图由于曲线长得像人的手臂,而且寻找的点又恰好在“肘部”,故称为肘方法。但是有些情况下的曲线不一定是上述所说的手臂形状,此时无法寻找到“肘部”,所以肘方法不一定对所有数据集都适用。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219249.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 原码反码补码的相互转换_补码转化为反码

    原码反码补码的相互转换_补码转化为反码原码反码补码的相互转换原码反码补码的转换还是比较简单基础的问题。之前学习java的时候就学过,后来忘记了,忘记了!!!,后来学了位移运算符,左移右移无符号右移之后就由有点儿懵了。原码,反码,补码二进制中第一位是符号位,0表示正数,1表示负数。以八位二进制数为例。原码十进制数正1的二进制原码[+1]原=00000001十进制数负1的二进制原码[-1]原…

    2025年6月29日
    2
  • 虚拟机的桥接模式和NAT模式[通俗易懂]

    虚拟机的桥接模式和NAT模式[通俗易懂]1.桥接模式桥接模式:直接连接物理网络,也就是连的你交换机的网络和你主机的IP在一个网段上将虚拟机出来的计算机,直接连入当前的网络环境中,并且独占IP.特点:在当前网络中的全部计算机,都可以访问虚拟机.弊端:1.Ip地址可能会发生变化192.150.1.100/192.168.1.1012.如果这时传递文件时需要依靠交换机/路由器2.NAT模式说明:相当于在windows系…

    2022年6月26日
    36
  • 【SpringBoot】15、SpringBoot中使用Kaptcha实现验证码

    【SpringBoot】15、SpringBoot中使用Kaptcha实现验证码当我们在项目中登录使用验证码的时候,不妨试试Kaptcha生成验证码,非常简单1、我们在pom.xml文件中引入kaptcha的maven依赖<!–kaptcha验证码–><dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha&lt…

    2022年6月18日
    25
  • markdown总结

    markdown总结markdown总结

    2022年4月24日
    41
  • Vue.js学习的第一天

    Vue.js学习的第一天官网文档地址:传送门一、Vue介绍:1.Vue.js是什么?作者:2014年2月,尤雨溪曾就职于GoogleCreativeLabs和MeteorDevelopmentGroup。Vue(读音/vjuː/,类似于view)是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vu..

    2022年4月9日
    52
  • 国外破解网站大全

    国外破解网站大全国外破解网站大全http://www.cracks.am(出名破解网站之一,包含各类型破解软件,注冊机等等,更新速度极快)推荐http://cracks.lomalka.ru(一个破解软件,注冊机网站,更新速度快)http://www.crackway.com(一个破解,注冊机网站,更新速度一般)http://cracks4u.us(一个破解软件,注冊机,注冊码储存网站,

    2022年6月3日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号