Skip to main content

InterVA 算法的 Python 实现。

项目描述

间隔

图片 pytest

用于将死因分配给口头尸检数据的 InterVA 算法的 Python 实现

导入包和安装依赖

要安装所有包依赖项,请运行:

pip install interva

要导入此包的功能:

>>> from interva.interva5 import InterVA5

示例数据

要从包中访问示例数据:

>>> from interva.interva5 import get_example_input
>>> va_data = get_example_input()
>>> va_data
       ID i004a i004b i019a i019b i022a  ... i454o i455o i456o i457o i458o i459o
0      d1     .     .     y     .     y  ...     n     n     n     n     n     n
1      d2     .     .     .     y     y  ...     n     n     n     n     n     n
2      d3     .     .     y     .     .  ...     n     n     n     n     n     n
3      d4     .     .     .     y     .  ...     n     n     n     n     n     n
4      d5     .     .     y     .     .  ...     n     n     n     n     n     n
..    ...   ...   ...   ...   ...   ...  ...   ...   ...   ...   ...   ...   ...
195  d196     .     .     .     y     .  ...     n     n     n     n     n     n
196  d197     .     .     y     .     y  ...     n     n     n     n     n     n
197  d198     .     .     y     .     y  ...     n     n     n     n     n     n
198  d199     .     .     .     y     y  ...     n     n     n     n     n     n
199  d200     .     .     .     y     y  ...     n     n     n     n     n     n

[200 rows x 354 columns]

创建和运行 InterVA5 对象

初始化一个 InterVA5 对象:

>>> iv5out = InterVA5(va_data, hiv="h", malaria="l", write=False, directory="VA test", filename="VA5_result", output="extended", append=False, return_checked_data=True)

在 InterVA5 对象上运行 InterVA5 算法:

>>> iv5out.run()
Using Probbase version: probbase v19 20210720
..........10% completed
..........20% completed
..........30% completed
..........40% completed
..........50% completed
..........60% completed
..........70% completed
..........80% completed
..........90% completed
..........100% completed
100% completed
>>> iv5out.get_csmf(top=8)
HIV/AIDS related death               0.194408
Undetermined                         0.136583
Digestive neoplasms                  0.083285
Other and unspecified infect dis     0.063096
Renal failure                        0.061253
Reproductive neoplasms MF            0.053655
Other and unspecified cardiac dis    0.047557
Stroke                               0.045583
dtype: float64

要访问算法输出:

>>> iv5out.out["ID"]
0        d1
1        d2
2        d3
3        d4
4        d5
       ... 
195    d196
196    d197
197    d198
198    d199
199    d200
Name: ID, Length: 200, dtype: object
>>> iv5out.out["VA5"]
       ID MALPREV  ... COMNUM                                          WHOLEPROB
0      d1       l  ...     99  cause
Not pregnant or recently delivered      ...
1      d2       l  ...     91  cause
Not pregnant or recently delivered      ...
2      d3       l  ...     91  cause
Not pregnant or recently delivered      ...
3      d4       l  ...     91  cause
Not pregnant or recently delivered      ...
4      d5       l  ...     99  cause
Not pregnant or recently delivered      ...
..    ...     ...  ...    ...                                                ...
195  d196       l  ...    100  cause
Not pregnant or recently delivered      ...
196  d197       l  ...     99  cause
Not pregnant or recently delivered      ...
197  d198       l  ...     99  cause
Not pregnant or recently delivered      ...
198  d199       l  ...     79  cause
Not pregnant or recently delivered      ...
199  d200       l  ...     62  cause
Not pregnant or recently delivered      ...

[200 rows x 15 columns]
>>> iv5out.out["Malaria"]
'l'
>>> iv5out.out["HIV"]
'h'
>>> iv5out.out["checked_data"]
     ID  i004a  i004b  i019a  i019b  ...  i455o  i456o  i457o  i458o  i459o
0   NaN    NaN    NaN    1.0    NaN  ...      0      0      0      0      0
1   NaN    NaN    NaN    NaN    1.0  ...      0      0      0      0      0
2   NaN    NaN    NaN    1.0    NaN  ...      0      0      0      0      0
3   NaN    NaN    NaN    NaN    1.0  ...      0      0      0      0      0
4   NaN    NaN    NaN    1.0    NaN  ...      0      0      0      0      0
..   ..    ...    ...    ...    ...  ...    ...    ...    ...    ...    ...
195 NaN    NaN    NaN    NaN    1.0  ...      0      0      0      0      0
196 NaN    NaN    NaN    1.0    NaN  ...      0      0      0      0      0
197 NaN    NaN    NaN    1.0    NaN  ...      0      0      0      0      0
198 NaN    NaN    NaN    NaN    1.0  ...      0      0      0      0      0
199 NaN    NaN    NaN    NaN    1.0  ...      0      0      0      0      0

[200 rows x 354 columns]

要从 InterVA5 对象中获取 HIV 或疟疾作为死亡原因的可能性:

>>> hiv = iv5out.get_hiv()
>>> hiv
HIV parameter is h
>>> malaria = iv5out.get_malaria()
>>> malaria
Malaria parameter is l

要将 HIV 或疟疾的可能性(“h”、“l”、“v”)设置为 InterVA5 对象的死因:

>>> iv5out.set_hiv("l")
'l'
>>> iv5out.get_hiv()
HIV parameter is l
'l'
>>> iv5out.set_malaria("v")
'v'
>>> iv5out.get_malaria()
Malaria parameter is v
'v'

从 InterVA5 对象中获取 id:

>>> ids = iv5out.get_ids()
>>> ids
0        d1
1        d2
2        d3
3        d4
4        d5
       ...
195    d196
196    d197
197    d198
198    d199
199    d200
Name: ID, Length: 200, dtype: object

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

interva-0.0.2.tar.gz (232.9 kB 查看哈希

已上传 source

内置分布

interva-0.0.2-py3-none-any.whl (248.7 kB 查看哈希

已上传 py3