跳转到主要内容

多目标机器学习

项目描述

喜马拉雅:多目标线性模型

Github Python License Build Codecov Downloads

Himalaya [1]实现了Python中的机器学习线性模型,专注于大量目标的高效计算。

如果您需要以下功能的库,请使用himalaya

  • 在大量目标上估计线性模型

  • 在CPU和GPU硬件上运行

  • 提供与scikit-learn API兼容的估计器

Himalaya是稳定的(特别关注向后兼容性)并且对公众开放(给它一个星吧!)。

示例

import numpy as np
n_samples, n_features, n_targets = 10, 5, 4
np.random.seed(0)
X = np.random.randn(n_samples, n_features)
Y = np.random.randn(n_samples, n_targets)

from himalaya.ridge import RidgeCV
model = RidgeCV(alphas=[1, 10, 100])
model.fit(X, Y)
print(model.best_alphas_)  # [ 10. 100.  10. 100.]
  • 模型RidgeCV使用与scikit-learn估计器相同的API,具有如fitpredictscore等方法。

  • 该模型能够高效地拟合大量目标(通常使用100k目标)。

  • 该模型为每个目标独立选择最佳超参数alpha

更多示例

查看更多关于 himalaya 的使用示例,请访问示例画廊

使用 himalaya 的 fMRI 教程

Himalaya 主要设计用于功能性磁共振成像(fMRI)编码模型。关于如何使用 himalaya 进行 fMRI 编码模型的深入教程,请访问 gallantlab/voxelwise_tutorials

模型

Himalaya 实现以下模型:

  • 岭回归,岭回归CV

  • 核岭回归,核岭回归CV

  • 分组岭回归CV,多核岭回归CV,加权核岭回归

  • 稀疏分组LassoCV

请参阅文档网站中的模型描述

Himalaya 后端

Himalaya 可以与不同的后端无缝使用。可用的后端包括 numpy(默认),cupytorchtorch_cuda。要更改后端,请调用

from himalaya.backend import set_backend
backend = set_backend("torch")

并将 torch 数组输入到 himalaya 求解器中。为了方便起见,实现 scikit-learn API 的估计器可以将数组转换为正确的输入类型。

GPU 加速

要在图形处理单元(GPU)上运行 himalaya,您可以使用 cupytorch_cuda 后端

from himalaya.backend import set_backend
backend = set_backend("cupy")  # or "torch_cuda"

data = backend.asarray(data)

安装

依赖项

  • Python 3

  • Numpy

  • Scikit-learn

可选(GPU后端)

  • PyTorch(推荐版本1.9+)

  • Cupy

标准安装

您可以使用包管理器 pip 安装 himalaya 的最新版本,它将自动从 Python 包索引(PyPI)下载 himalaya

pip install himalaya

从源码安装

要从最新源码(main分支)安装 himalaya,您可以调用

pip install git+https://github.com/gallantlab/himalaya.git

开发者还可以通过以下方式以可编辑模式安装 himalaya

git clone https://github.com/gallantlab/himalaya
cd himalaya
pip install --editable .

引用此包

如果您在工作中使用了 himalaya,请给它加星标,并引用我们的出版物

项目详情


下载文件

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

源代码分布

himalaya-0.4.6.tar.gz (70.9 kB 查看哈希值)

上传时间

构建分布

himalaya-0.4.6-py3-none-any.whl (83.8 kB 查看哈希值)

上传于 Python 3

由以下提供支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面