Python scikit-learn KMeans 在计算剪影分数时被杀死 (9)
Python scikit-learn KMeans is being killed (9) while computing silhouette score
我目前正在处理图像数据集(250 000 张图像,与特征向量一样多,每个图像都由 132 个特征组成)并尝试使用 sklearn 提供的 KMeans 函数。
I 运行 它在 Mac OS X 10.10, Python 2.7 和 sklearn 0.15.2 上,过了一会儿我只得到一个:
Killed: 9
运行使用这些命令行时出错:
nb_cls = int(raw_input("Number of clusters chosen :"))
clusterer = sklearn.cluster.KMeans(n_clusters=nb_cls)
clusters_labels = clusterer.fit_predict(X)
silhouette = sklearn.metrics.silhouette_score(X, clusters_labels)
print "n clusters =", nb_cls, "/ silhouette_score =", silhouette
请注意,没有计算剪影分数,代码不会被杀死
对于较小的数据集(± 2 500 张图像),相同的算法是有效的并且没有这样的 Python 错误。
如何避免 Killed 9 错误?这个计算对我的笔记本电脑来说是不是太高了?
这意味着您的脚本已被 OS 杀死。在大多数情况下,这是因为它使用了太多内存。当您仅使用 2500 张图像时,您的代码似乎可以正常工作。
如果是内存问题,您将不得不获得更多 RAM(在 mac 上不可能?),使用另一台具有更多 RAM 的计算机或减小数据集的大小。
我目前正在处理图像数据集(250 000 张图像,与特征向量一样多,每个图像都由 132 个特征组成)并尝试使用 sklearn 提供的 KMeans 函数。
I 运行 它在 Mac OS X 10.10, Python 2.7 和 sklearn 0.15.2 上,过了一会儿我只得到一个:
Killed: 9
运行使用这些命令行时出错:
nb_cls = int(raw_input("Number of clusters chosen :"))
clusterer = sklearn.cluster.KMeans(n_clusters=nb_cls)
clusters_labels = clusterer.fit_predict(X)
silhouette = sklearn.metrics.silhouette_score(X, clusters_labels)
print "n clusters =", nb_cls, "/ silhouette_score =", silhouette
请注意,没有计算剪影分数,代码不会被杀死
对于较小的数据集(± 2 500 张图像),相同的算法是有效的并且没有这样的 Python 错误。
如何避免 Killed 9 错误?这个计算对我的笔记本电脑来说是不是太高了?
这意味着您的脚本已被 OS 杀死。在大多数情况下,这是因为它使用了太多内存。当您仅使用 2500 张图像时,您的代码似乎可以正常工作。
如果是内存问题,您将不得不获得更多 RAM(在 mac 上不可能?),使用另一台具有更多 RAM 的计算机或减小数据集的大小。