--lsi 选项来自 classifier-reborn gem,其中包括以下关于在 dependencies 标题下提高速度的注释:
要将 LSI 分类速度至少提高 10 倍,请考虑安装
以下库。
GSL - GNU Scientific Library
Ruby/GSL Gem
请注意,LSI 可以在没有这些库的情况下工作,但只要它们
已安装,分类器将使用它们。无配置
需要进行更改,我们希望让您的事情变得非常简单。
gsl gem's installation docs 提到:
必须先安装 GSL 库,然后才能安装 Ruby/GSL:
- Debian/Ubuntu:+libgsl0-dev+
- Fedora/SuSE:+gsl-devel+
- Gentoo:+sci-libs/gsl+
- OS X:
brew install gsl
gsl gem can also make use of nmatrix or narray,我相信这可能会进一步提高速度/效率:
为了将 rb-gsl 与 NMatrix 一起使用,您必须首先设置 NMATRIX
环境变量,然后安装rb-gsl:
gem install nmatrix
export NMATRIX=1
gem install rb-gsl
这将编译带有 NMatrix 特定函数的 rb-gsl。
将 rb-gsl 与 NArray 一起使用:
gem install narray
export NARRAY=1
gem install rb-gsl
请注意,同时设置 NMATRIX 和 NARRAY 变量将导致
未定义的行为。一次只能使用一个。
我不确定nmatrix 还是narray 是更好/更快的选择,尽管我确实在classifier-reborn 存储库上打开了https://github.com/jekyll/classifier-reborn/issues/192。
我确实注意到旧的narray GitHub repo 提到该软件包不再维护,而是链接到新版本:Ruby/Numo::NArray
Numo::NArray 是一个 Numerical N 维数组类,用于快速处理和轻松操作多维数值数据,类似于 numpy.ndaray。该项目是 Ruby/NArray 的继承者。
Numo::NArray 还链接到 numo-gsl,这似乎是相关的 gsl 绑定:
Ruby/Numo::NArray 的 GSL 接口
在这个阶段,我不确定classifier-reborn 是否能够利用任何这些 numo 依赖项,但如果可以的话,我的猜测是它们会更快/更积极地维护。