将持久性图矢量化为持久性映像的函数(有关详细信息,请参见[pi]http://www.jmlr.org/papers/volume18/16-337/16-337.pdf)

PersistenceImages的Python项目详细描述


#持久性映像:持久性同调的稳定向量表示
描述
此模块定义用于将持久性图表矢量化为持久性映像的python类persistenceimager(请参见[pi]http://www.jmlr.org/papers/volume18/16-337/16-337.pdf详细信息)。



>依赖关系
*解释器
````
>python 3.6.0
````


*模块
````
>numpy 1.11.3
>matplotlib 2.0.0
`````

>安装


>可以用pip安装最新版本的persistencenceimages模块persistenceimages模块,最新版本的persistenceimages模块可以用pip来安装。`
$pip安装persistence images
```
安装后,您可以访问persistenceimages模块和其中的方法:
```
>;>;导入persistenceimages.persistenceimages作为pimg
````
persistenceimages()
persistenceimages()类是persistenceimages的主力。用于转换关系图。必须首先创建persistenceImager()对象的实例化,并且将包含定义持久性图像超参数的属性:
**birth懔range**:指定左右图像边界的元组
**pers懔range**:指定上下图像边界的元组
**pixel懔size**:指定宽度和高度的浮点每个图像像素的
**weight**:将每个持久性对的贡献缩放到最终图像的weight函数
**weight_params**:指定weight函数所需的参数
**kernel**:替换每个持久性的内核的累积分布函数pair
**kernel_params**:指定内核cdf所需的参数

这个分布的形状由参数sigma控制,sigma是一个有效的2x2正定协方差矩阵。

**注**:由于数学原因,标准的各向同性二元正态分布,即$`\sigma=[[\sigma,0],[0\sigma]`$,比非各向同性分布核的计算速度*快得多。

打印(pers-Imager)

persistenceImager对象:
像素大小:0.2
分辨率:(5,5)
出生范围:(0,1)
持续范围:(0,1)
权重:线性渐变
内核:bvncdf
权重参数:{}
内核参数:{sigma:[[1]。0.]
[0.1.]}
```
` transform()`方法然后可以在(n,2)numpy数组上调用,以从输入关系图生成持久性图像:
```
>;>import numpy as np
>;>pers-dgm=np.array([[0.5,0.8],[0.7,1.2],[2.5,4.0]])
>;>人影=人影。变换(人影,斜斜线=真)




>阵列([[0.00430663,0.00454332,0.004532225,0.004545929,0.0044448349,0.00421781],
[0.0004474815,0.00474815,0.0047484850,0.00501502,0.005104040.005104040.00500795,0.00473973],
[0.005063,0.005063,0.00537381,0.00537381,0.00550102,0.00550102,0.00543453,0.00543453,0.00518493],
[0.00523385,0.00559182,0.00576862,0.00575055,0.005544],
[0.00526161,0.00567059,0.00590921,0.00595932,0.00582126]]
```
选项"skew=true"指定图表当前位于生-死坐标中,必须首先转换为生-死坐标。

"plot_diagram()"和"plot_image()"方法可用于生成图表的绘图和相应的图像:

```
>>pers_imager.plot_diagram(pers_dgm,skew=true)
>>pers_imager.plot_image(pers_dgm,skew=true)
```
通过减少"像素大小"属性可以生成更高分辨率的图像:
```
>;>pers_imager.pixel廑size=0.02
>>>

persistenceImager对象:
像素大小:0.02<;——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————0.]
[0.1.]}
```
更新persistenceImager()对象的属性将自动更新其他依赖的图像属性:
```
>;>pers戋imager.birth戋range=(0,2)
>;>打印(pers_imager)

persistenceimager对象:
像素大小:0.02
分辨率:(100,50)<;--
出生范围:(0,2)<;--
持续范围:(0,1)
权重:线性渐变
内核:bvncdf
权重参数:{}
内核参数:{sigma:[〔1〕。0.]
[0.1.]}
```
还可以使用其他权重函数,并在"persistenceimages.weighting\u fxns"模块中实现。在这里,我们通过持久性平方来加权对:
```
>;>pers_imager.weight=pimg.weighting_fxns.persistence
>;>pers_imager.weight_params={'n':2}
```
persistenceimager()类实现了`.fit()`和`.fit_transform()`方法,这些方法接受一个可iterable的持久性关系图集合作为输入。目前,这些方法只是根据图表集合中所有对的最小和最大出生和持续值设置出生和持续范围。
````
>;>;pers廑u imager.fit([np.array([[0.5,0.8],[0.7,1.2],[2.5,4.0]]),np.array([[1.2,2.1],[0.7,0.9],[1.1,4.3]]])
>;>print(pers_imager)

persistenceimager对象:
像素大小:0.02
分辨率:(100,150)<;--
出生范围:(0.5,2.5)<;--
持续范围:(0.2,3.2)<;---
权重:持久性
内核:bvncdf
权重参数:{n:2}
内核参数:{sigma:[[1]。0.]
[0.1.]}
```
为了调整以每个持久性对为中心的高斯核的带宽,我们改变了'bvncdf`(双变量正规)核的'sigma'参数的方差。要使用标准的各向同性法线,我们也可以只指定一个数字的方差。
```
>;>pers_imager.kernel_params={'sigma':np.array([[.01,0],[0,.01]])}
>;>#或者pers_imager.kernel_params={'sigma':.01}
`````

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法在安卓 Studio中为安卓:onClick执行方法   传真我如何以编程方式接收传真?最好是java语言   开源如何向标准java库中添加任何类?   多线程Java执行器在上一个完成后执行一个可调用的?   java广播接收器在后台不工作   java替换元素   删除文件。java Maven项目   java不同语言   linux告诉java要听哪个键盘   数组Java 8流,仅第一次获取max()需要很长时间   从Stubbed@SpringBean返回的java Spock+Spring存根始终返回null   java为什么EnumMap为空值分配对象类对象?   使用Java对话框查找最小值和最大值   支持新旧安卓版本的java Copy with clipboard manager?   它显示了桌面版本。我想展示手机版(现在可以了)   java如何从文本文件中读取一行,调用该行上的函数并移动到第二行,等等?   java如何为体育项目编写深度图表和列表?   java如何创建IntentService来检查GoogleAppClient是否为空