我目前正在研究一个图像数据集(250,000张图像,与特征向量一样多,每个图像都由132个特征组成),并试图使用sklearn提供的KMeans函数。
我在Mac OS X 10.10, Python 2.7和sklearn 0.15.2上运行它,过了一会儿我只得到一个:
死亡: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错误。
我怎样才能避免这个kill 9错误?对于我的笔记本电脑来说,这个计算是不是太夸张了?
这意味着你的脚本被操作系统杀死了。在大多数情况下,这是因为它使用了太多的内存。在您的情况下,这似乎是可能的,因为当您只使用2500个图像时,您的代码工作得很好。
如果是内存问题,您将不得不获得更多的RAM(在mac上不可能?),使用另一台具有更多RAM的计算机或减少数据集的大小。