ML刻意练习第六周之K-means
k-means算法是无监督学习方法的经典算法之一,也是最简单的一个。 其中我们需要选择一种距离度量来表示数据点之间的距离,本文中我们使用的是欧式距离。 一、k均值聚类算法 1.支持函数 import numpy as np def loadDataSet ( fileName ) : """ 函数说明:加载数据 Parameters: fileName - 文件名 Returns: dataMat - 数据矩阵 """ dataMat = [ ] fr = open ( fileName ) for line in fr . readlines ( ) : curLine = line . strip ( ) . split ( '\t' ) fltLine = list ( map ( float , curLine ) ) # 转化为float类型 dataMat . append ( fltLine ) return np . array ( dataMat ) def distEclud ( vecA , vecB ) : """ 函数说明:欧拉距离 parameters: vecA,vecB:两个数据点的特征向量 returns: 欧式距离 """ return np . sqrt ( np . sum ( np . power ( vecA - vecB , 2 ) )