使用sklearn.cluster.KMeans(python+;py2exe)时减少dist目录大小

使用sklearn.cluster.KMeans(python+;py2exe)时减少dist目录大小,python,scikit-learn,py2exe,Python,Scikit Learn,Py2exe,我在将python脚本转换为可执行文件时遇到了一些问题。 它的尺寸太大,我无法分发给我的客户 问题是,我只使用了sklearn的一些代码,结果在我的分发目录中总共有240MB。 我知道这并不是因为我只使用一种东西,我不需要其他东西。 但是我正在寻找一种方法来减小这个大小,或者甚至有一个替代KMeans类的方法,使用一个更轻量级的python机器学习包 如果需要,使用此功能的代码部分包括: from sklearn.cluster import KMeans ... # clus is just

我在将python脚本转换为可执行文件时遇到了一些问题。 它的尺寸太大,我无法分发给我的客户

问题是,我只使用了sklearn的一些代码,结果在我的分发目录中总共有240MB。 我知道这并不是因为我只使用一种东西,我不需要其他东西。 但是我正在寻找一种方法来减小这个大小,或者甚至有一个替代KMeans类的方法,使用一个更轻量级的python机器学习包

如果需要,使用此功能的代码部分包括:

from sklearn.cluster import KMeans
...
# clus is just hanging an object instance of KMeans
clus = KMeans(n_clusters = _numBlocks, random_state = 1, n_jobs = 1)
# and here, I just call its method
_hourmap = clus.fit_predict(Load2Clus)
...

嗯,
kmeans
是一个非常简单的算法,正如您所认识的,它只是
sklearn
的一小部分。如果您的内存有限,并且这是您使用的整个软件包的唯一部分,我会避免使用
sklearn
。您也可能不需要
numpy
scipy
和其他包,除非您在代码的其他地方使用它们

你的选择是:

  • 在Python中实现您自己的K-means版本
  • 使用简单的
    kmeans
    包,从中包装kmeans的C实现
  • 使用您已经确定的不同轻质包装

为减少库档案的大小而考虑的其他事项,包括:

  • 不包括各种外部库
  • 不包括标准库的部分
  • 压缩归档文件
以下哪一项最适合你取决于你的课程