我在从不同文件调用变量时遇到了一个小问题。我
有两个不同的文件 train_dataset.py
和 test_dataset.py
。我运行
来 self 的 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
并打印
通过调用train_dataset.array_val
来获取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
是一个numpy n维数组。
在我的test_dataset.py
中我所做的就是
import train_dataset
print train_dataset.array_val
最佳答案
这可能是由于 k-means 算法的随机初始化造成的
正如 @ali_m 在评论中很好地解释的那样,import train_dataset
行重新运行聚类,并且聚类中心实际上并未从您上次运行代码时保存。为此,您可以使用序列化数据
关于python - 从不同文件调用变量时数组值存在差异 - python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29748121/