赞
踩
无监督学习中应用最多的就是聚类,其中k均值算法就是典型的聚类算法,下面是一段从文本中读取30数据,然后进行聚类的过程,包括输出读取的数据集、随机选择的K个初始均值向量、30行数据各自所属的类别以及最后的聚类中心,因为每次是随机选择K个初始均值向量,所以每次运行结果不一样的。
import numpy as np import math # 读取文件 def load_dataset(file_name): data_list = [] fr=open(file_name,encoding='utf-8-sig') lines = fr.readlines() for line in lines: pas_line = line.strip().split("\t") flt_line = list(map(eval, pas_line)) data_list.append(flt_line) return np.array(data_list) # 路径输入及函数调用后打印 data_set = load_dataset(r"F:\test\1.txt") print(data_set) # 计算两个向量之间的欧氏距离 def dist_eclud(vecA, vecB): vec_square = [] for element in vecA - vecB: element = element ** 2 vec_square.append(element) return sum(vec_square) ** 0.5 # 构建k个随机质心 def rand_cent(data_set, k):
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。