从java调用python源代码。虽然工作正常,但时间非常重要,结束python源的时间不到一秒,但加载/导入RandomizedPCA的时间大约是3秒。这一行:
from sklearn.decomposition import randomizedPCA
所以我需要一种加载/导入速度更快的方法(不到一秒钟)。我认为一种方法是永远将这个lib加载到内存中,这有助于解决这个问题,但是找不到它。
答案 0 :(得分:1)
我建议升级到sklearn的最新版本。来自release notes:
Class decomposition.RandomizedPCA
现已纳入考虑范围 decomp.PCA和可用参数调用svd_solver='randomized'
。'randomized'
的默认n_iter数 已经改为4. PCA的旧行为已经恢复svd_solver='full'
。另一个解算器调用arpack并执行 截断的(非随机的)SVD。默认情况下,最好的解算器是 根据输入的大小和数量选择 请求的组件。
import timeit
timeit.timeit('import sklearn.decomposition')
Python 2.7:~0.5秒
Python 3.4:~1.2秒
计算机:i7-3770运行Ubuntu 16.04 LTS