基于价值的优先顺序

vbp的Python项目详细描述


ValueBasedPriorization

文章

学术文章:https://github.com/freeradical13/ValueBasedPrioritization/raw/master/value_based_prioritization.pdf

安装

https://pypi.org/project/vbp/

pip3 install vbp

vbp

基于值的优先级(vbp)使用值理论来量化 确定潜在行动的优先顺序以实现目标。

可以从命令行使用vbp.run模块来执行 不同的vbp操作,例如列出操作(list),计数 动作(count),预测值(predict),运行建模的vbp (modeled_value_based_prioritization)等等。有关用法,请运行:

python3 -m vbp.run

任何非终端输出都会转到vbpoutput子文件夹。

下面是一个简单的例子,计算 美国违约数据的潜在死亡原因 类型:

python3 -m vbp.run count UCODUnitedStates

或者,如果通过pip安装,则vbp脚本包装器可以 使用:

vbp count UCODUnitedStates

上面的学术文章包括脚注,详细说明了如何 运行vbp生成每个步骤的输出。

此包提供要运行的抽象类和实用程序方法 vbp,主要集中在使用时间序列数据 预测未来的价值,并根据相关的 预测值。

vbp.DataSource类是vbp的基本抽象类。

抽象类继承自 vbp.DataSource可用于建模的vbp。这个 vbp.ExampleDataSource类演示了一个简单的基于数据源的 在vbp.TimeSeriesDataSource上。

内置的建模VBP包括 美国(vbp.ucod.united_states.UCODUnitedStates)和 世界(vbp.ucod.world.UCODWorld)。这些 数据源都继承自 从vbp.TimeSeriesDataSource继承。

运行

模型类型由--ets--ols和/或--prophet指定。 它们不是互斥的;如果在 modeled_value_based_prioritization,取 结果。默认值是--ets

默认情况下,操作名称会被模糊化,以减少模型期间的偏差。 建造和测试。指定--do-not-obfuscate以显示实际名称。

某些数据源具有不同的数据类型(例如互斥 数据分组)。在数据源之前添加-a参数 为所有数据类型运行的名称。在后面添加--data-type X参数 指定特定数据类型的数据源名称。

一般来说,可以指定一个操作列表来运行 列表;否则,如果没有这样的列表,则处理所有操作。

示例:

python3 -m vbp.run modeled_value_based_prioritization UCODUnitedStates

python3 -m vbp.run modeled_value_based_prioritization UCODUnitedStates --do-not-obfuscate "Heart disease" Cancer

指数平滑

使用exponential smoothing

python3 -m vbp.run modeled_value_based_prioritization ${DATA_SOURCE} --ets

指定--ets-no-multiplicative-models以仅使用加法模型。

指定--ets-no-additive-models仅使用乘法模型。

线性回归

使用linear regression

python3 -m vbp.run modeled_value_based_prioritization ${DATA_SOURCE} --ols

指定--ols-max-degrees X以模拟更高的学位。

先知

使用Facebook Prophet

python3 -m vbp.run modeled_value_based_prioritization ${DATA_SOURCE} --prophet

美国

截至2019年3月1日,解压缩的美国死亡率数据消耗约36GB 磁盘。当一个函数 是需要的。

长期、可比、主要死因

为生成data/ucod/united_states/comparable_data_since_1959.xlsx 所有长期、可比、主要死因 https://www.cdc.gov/nchs/data/dvs/lead1900_98.pdf

python3 -m vbp.run prepare_data UCODUnitedStates

第1900:1957行和页Comparability Ratiosin data/ucod/united_states/comparable_ucod_estimates.xlsx是手动的 来自https://www.cdc.gov/nchs/data/dvs/lead1900_98.pdf的输入

打开comparable_data_since_1959.xlsx并复制1959行:present。

打开comparable_ucod_estimates.xlsx并粘贴到顶部开始 1959年。

用它处理comparable_ucod_estimates.xlsxComparability Ratios要生成的工作表 comparable_ucod_estimates_ratios_applied.xlsx

python3 -m vbp.run prepare_data UCODUnitedStates --comparable-ratios

最终输出:

python3 -m vbp.run modeled_value_based_prioritization UCODUnitedStates --data-type UCOD_LONGTERM_COMPARABLE_LEADING

世界

截至2019年3月1日,解压缩后的世界死亡率数据消耗了约320MB 磁盘。当一个函数 是需要的。

在测试时,编写数据电子表格需要很多时间,而且可能 避免使用--不要编写电子表格。

创建新的数据源

查看vbp/example.py以获取一个简单的示例。基本过程是:

  1. 在somename.py中创建vbp.datasource的子类
  2. 实现所有@abc.abstractmethodm以身作则 其他需要的超类方法。
  3. 在vbp/run.py顶部导入somename.py

开发

先决条件:

pip3 install numpy pandas matplotlib statsmodels scipy fbprophet

更新pypi包:

# Edit version in setup.py and __init__.py
python3 setup.py bdist bdist_wheel
python3 -m twine upload --skip-existing dist/*
# https://pypi.org/project/vbp/

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

推荐PyPI第三方库


热门话题
在Windows 7 64位上运行Jive Dev Enrivoment的java   Java/C/C++/C#/PHP到Pascal的转换器?   java将字符串列表转换为单个对象   java SimpleAdapter,spinner中的文本和图像   java当客户端返回时,有状态会话bean如何恢复状态?   JavaWebLogic。jdbc。包装纸。无法将数组\u oracle\u sql\u数组强制转换为oracle。sql。大堆   java MySQL/Hibernate检索列映射为LocalTime的错误数据   java如何检测页面中是否包含句子(模糊)?   java如何在springboot框架中验证wsdl   JTextPane中的java双列表项插入   java根据窗口大小调整JScrollPane的大小   sql如何在java中映射VARCHAR2(5)的类型表?   用于生成Cron表达式的java类型转换   如何将基于spring注释的Hibernate代码迁移到JavaEE   java对象作为参数?   JavaSeleniumWebDriver:在许多输入中设置值的更快方法