在朴素的python代码中,二进制序列的lempel ziv复杂性。
Lempel-Ziv_Complexit的Python项目详细描述
此存储库包含一个小型、简单且高效的Lempel-Ziv complexity算法实现。
示例
简单用法
如果可以在您的路径或python的路径中访问lempel_ziv_complexity.py文件:
>>>fromlempel_ziv_complexityimportlempel_ziv_complexity>>>s='1001111011000010'>>>lempel_ziv_complexity(s)# 1 / 0 / 01 / 1110 / 1100 / 00106
文件
C延伸
如果可以在您的路径或python的路径中访问lempel_ziv_complexity.so文件,则可以使用相同的文件。
小基准
还有一个cython版本,可以更快地实现:
$ipython...>>>s='1001111011000010'>>>%timeitlempel_ziv_complexity(s)6.1µs±33.6nsperloop(mean±std.dev.of7runs,100000loopseach)>>>%timeitlempel_ziv_complexity_cython(s)132ns±2.55nsperloop(mean±std.dev.of7runs,10000000loopseach)
加速通常在X50和X100之间。 它没有随pypi版本一起提供,如果需要,请参见directly on GitHub。
演示Jupyter notebook
看这个笔记本:on nbviewever。
安装并构建
手动?
别紧张!
克隆这个存储库,进入文件夹,编译,测试,如果它有效, 安装它。
cd /tmp/ git clone https://GitHub.com/Naereen/Lempel-Ziv_Complexity cd Lempel-Ziv_Complexity/src/ make build make test# should pass make install # mv the build/lib*/*.so files where you need them
确保在需要时包含动态库,或在文件夹中 可由python解释器访问(在sys.path中的某个地方)。这个 文件是lempel_ziv_complexity_cython.so(对于python 2)或 lempel_ziv_complexity_cython.cpython-35m-x86_64-linux-gnu.so(用于 python 3.5或更高版本,修改名称)。
和皮普在一起?
此项目位于the Pypi package repository上。
sudo pip install lempel_ziv_complexity python -c "from lempel_ziv_complexity import lempel_ziv_complexity; print(lempel_ziv_complexity('1001111011000010') == 6)"# test
关于
执照?
MIT Licensed(文件 LICENSE)。)Lilian Besson,2017年。