从不同的文件调用变量时数组值的差异 - python

时间:2015-04-20 12:37:46

标签: python numpy

从另一个文件调用变量时,我遇到了一个小问题。一世 有两个不同的文件train_dataset.pytest_dataset.py。我跑了 我的IDE中的train_dataset.py文件并记下数组变量的值 array_val如下所示。

array([[ 0.08695652,  0.66459627,  0.08695652,  0.07453416,  0.07453416,
        ... 0.15217391]])

现在我切换到test_dataset.py并导入import train_dataset并打印 通过调用array_val train_dataset.array_val的值,我看到一个非常好的 不同的输出。输出如下。

    array([[  8.11594203e-01,   1.15942029e-01,   4.05797101e-01,
            ... 1.30434783e-01,   5.65217391e-01,   2.02898551e-01]])

请建议我如何摆脱它并说明出现差异的原因。

请找到我在train_dataset.py

中嵌入的代码
no_of_clusters=9
cluster_centroids=[]
k_means=KMeans(n_clusters=no_of_clusters,n_init=14, max_iter=400)

k_means.fit(matrix_for_cluster)

labels=k_means.labels_
array_val=k_means.cluster_centers_

matrix_for_cluster是一个n维的n维数组。

在我的test_dataset.py我所做的一切都是

import train_dataset
print train_dataset.array_val

1 个答案:

答案 0 :(得分:3)

这可能是由于k-means算法的随机初始化

由于@ali_m在评论中很好地解释,行import train_dataset重新运行群集,并且群集中心实际上并未从您上次运行代码时保存。为此,您可以使用

序列化数据