9.4

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
dataset=pd.read_csv('F:\\python\\dataset\\watermelon_4.csv', delimiter=",")
data=dataset.values
data
data:

Kmeans实现
import random
#距离
def distance(x1,x2):
return sum((x1-x2)**2)
#Kmeans实现
def Kmeans(D,K,maxIter):#return K points and the belongings of every points
m,n=np.shape(D)
if K>=m:return D
initSet=set()
curK = K #聚类簇数
while(curK>0): #随机选择K个样本作为均值向量
randomInt = random.randint(0,m-1) #随机一个[0,29]的整数
if randomInt not in initSet:
curK-=1
initSet.a

博客主要介绍了使用Python实现Kmeans聚类,展示了K=3时多次运行的结果并进行可视化。分析指出,k-means算法选的初始点离得越远越易收敛,聚类效果越好,算法好坏与初始样本选取关系很大。
最低0.47元/天 解锁文章
1563

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



