热线电话:13121318867

登录
2018-12-10 阅读量: 745
k-means怎么初始化手段?

我们想要在项目的特征值范围内初始化每个均值的值。为此,我们需要找到每个特征的最小值和最大值。我们通过以下功能实现这一目标:

def FindColMinMax(items):

n = len(items[0]);

minima = [sys.maxint for i in range(n)];

maxima = [-sys.maxint -1 for i in range(n)];

for item in items:

for f in range(len(item)):

if (item[f] < minima[f]):

minima[f] = item[f];

if (item[f] > maxima[f]):

maxima[f] = item[f];

return minima,maxima;

变量minima,maxima是分别包含项目的最小值和最大值的列表。我们在上述两个列表中的相应最小值和最大值之间随机初始化每个均值的特征值:

def InitializeMeans(items, k, cMin, cMax):

# Initialize means to random numbers between

# the min and max of each column/feature

f = len(items[0]); # number of features

means = [[0 for i in range(f)] for j in range(k)];

for mean in means:

for i in range(len(mean)):

# Set value to a random float

# (adding +-1 to avoid a wide placement of a mean)

mean[i] = uniform(cMin[i]+1, cMax[i]-1);

return means;

0.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子