本文主要记录本人在学习
机器学习过程中的相关代码实现,参考《机器学习实战》
from numpy import *
def loadDataSet(fileName):
dataMat=[]
with open(fileName) as fr:
for line in fr.readlines():
curLine=line.strip().split('\t')
fltLine=list(map(float,curLine))
dataMat.append(fltLine)
return dataMat
def distEclud(vecA,vecB):
return sqrt(sum(power(vecA-vecB,2)))
def randCent(dataSet,k):
n=shape(dataSet)[1]
centroids=mat(zeros((k,n)))
for j in range(n):
minJ=min(dataSet[:,j])
rangeJ=float(max(dataSet[:,j])-minJ)
centroids[:,j]=minJ+rangeJ*random.rand(k,1)#numpy.rand(k,1)表示生成k*1的随机矩阵,随机数为0-1.0
return centroids
#~ datMat=mat(loadDataSet('testSet.t