HDU杭电--机器学习实验(六)

  • 实验目的

• 1、理解无监督学习中聚类算法的原理;

• 2、完成程序,实现基于K-means的国内消费水平聚类分析,聚类成4类的效果。

  • 实验内容与要求

【K-means聚类算法】

  1. means算法以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低。其处理过程如下:
  1. 随机选择k个点作为初始的聚类中心;
  2. 对于剩下的点,根据其与聚类中心的距离,将其归入最近的簇
  3. 对每个簇,计算所有点的均值作为新的聚类中心
  4. 重复2/3直到聚类中心不再发生改变

【数据介绍】

现有1999年全国31个省份城镇居民家庭平均每人全年消费性支出的八个主要变量数据,这八个变量分别是:食品、衣着、家庭设备用品及服务、医疗保健、交通和通讯、娱乐教育文化服务、居住以及杂项商品和服务。利用已有数据,对31个省份进行聚类。

1.选择聚类数量K:首先,需要确定聚类的数量K,即将数据集划分为K个簇。

2.初始化聚类中心:随机选择K个数据点作为初始的聚类中心,可以从数据集中随机选择,或者使用其他初始化方法。

3.分配样本到最近的聚类中心:对于每个数据点,计算其与每个聚类中心之间的距离,并将其分配到距离最近的聚类中心所属的簇。

4.更新聚类中心:对于每个簇,计算该簇内所有样本点的均值,将均值作为新的聚类中心。

5.重复步骤3和步骤4,直到满足终止条件:重复执行步骤3和步骤4,直到满足某个终止条件,例如聚类中心不再发生显著变化或达到最大迭代次数。

6.输出聚类结果:最终得到K个簇,每个数据点都被分配到一个簇中,形成聚类结果。

【实验目的】

通过聚类,了解1999年国内各个省份的消费水平情况。技术路线 :sklearn.cluster.Kmeans

【实验要求】

  1. 理解无监督学习中聚类算法的原理;
  2. 完成程序,实现基于K-means的国内消费水平聚类分析,聚类成4类的效果。
  • 实验程序与结果

#1.建立工程,导入sklearn相关包
import numpy as np  #调用K-means算法进行聚类
from sklearn.cluster import KMeans # K-means聚类算法
import matplotlib.pyplot as plt #用于数据可视化的库
import matplotlib #用于设置字体
import os
os.environ['LOKY_MAX_CPU_COUNT'] = '4'  # 4替换为实际的逻辑核心数
#2. 加载数据,创建K-means算法实例,并进行训练,获得标签
def loadData(filePath):
    #从指定文件路径加载数据
    fr = open(filePath,'r+'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值