跳转到主要内容

Python中的广义加性模型。

项目描述

Actions PythonVersion PyPi Black ReadtheDocs

generalized-additive-models

广义加性模型(GAMs)在Python中。

关于

GAMs在可解释性 vs. 预测力连续体上具有独特地位。在许多应用中,它们的性能几乎与更复杂的模型相当,但可解释性极强。

  • GAMs通过允许特征与目标之间的非线性关系扩展了线性回归。

  • 模型仍然是加性的,但连接函数和多元样条函数促进了广泛类别的模型。

  • 虽然GAMs可能不如非加性模型(例如提升树)表现好,但GAMs的可解释性极强。

了解更多关于GAMs的信息

广义加性模型(GAM)是一种统计模型,其中目标变量依赖于特征未知光滑函数,并且兴趣集中于对这些光滑函数的推理。

对于目标Y指定了指数族分布(例如正态分布、二项分布或泊松分布)以及连接函数g(例如恒等函数或对数函数),以将Y的期望值与预测变量相关联。

安装

使用pip安装

pip install generalized-additive-models

示例

from sklearn.datasets import load_diabetes
from sklearn.model_selection import cross_val_score
from generalized_additive_models import GAM, Spline, Categorical

# Load data
data = load_diabetes(as_frame=True)
df, y = data.data, data.target

# Create model
terms = Spline("bp") + Spline("bmi", constraint="increasing") + Categorical("sex")
gam = GAM(terms)

# Cross validate
scores = cross_val_score(gam, df, y, scoring="r2")
print(scores) # array([0.26, 0.4 , 0.41, 0.35, 0.42])

访问Read the Docs以查看完整文档。

贡献和开发

欢迎贡献力量。您可以纠正拼写错误、编写文档、清理代码、实现新功能等。

开发的一些指南

  • 代码必须符合标准。更多信息请参阅GitHub动作管道。

  • 如果可能,请使用来自 numpyscipyscikit-learn 的现有算法。

  • 编写测试,特别是修复bug后的回归测试。

  • 重视向后兼容性。API更改需要充分的理由。

本地开发安装

pip install -e '.[dev,lint,doc]'

本地创建文档

sudo apt install pandoc
sphinx-build docs _built_docs/html -W -a -E --keep-going
sphinx-autobuild docs _built_docs/html -v -j "auto" --watch generalized_additive_models

一旦增加版本号,必须进行标记并推送,以便发布到PyPi。

git tag -a v0.1.0 -m "Version 0.1.0" b22724c
git push origin v0.1.0

引用

待办事项

项目详情


下载文件

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

源分布

generalized_additive_models-0.4.0.tar.gz (83.2 kB 查看哈希)

上传时间

构建分布

generalized_additive_models-0.4.0-py3-none-any.whl (95.8 kB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面