1.k-means
优点:精度高,对异常值不敏感,无数据输入假定
缺点:计算复杂度高,空间复杂度高
适用范围:数值型和标称型
最近的邻居
输入:inX:与现有数据集进行比较的向量(1xN)
数据集:大小m已知向量的数据集(NxM)
标签:数据集标签(1xM向量)
k:用于比较的邻居的数量(应该是奇数)
输出:最流行的类标签
创建数据集和标签:
def createDataSet():
group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]])
labels = ['A','A','B','B']
return group, labels
分类:
def classify0(inX, dataSet, labels, k):
距离计算:
dataSetSize = dataSet.shape[0]
diffMat = tile(inX, (dataSetSize,1)) - dataSet
sqDiffMat = diffMat**2
sqDistances = sqDiffMat.sum(axis=1)
distances = sqDistances**0.5
sortedDistIndicies = distances.argsort()
classCount={}
选择距离最小的k个点:
for i in

最低0.47元/天 解锁文章
771

被折叠的 条评论
为什么被折叠?



