Neural Tangent Kernel for scikit-learn Gaussian Processes
scikit-ntk is implementation of the neural tangent kernel (NTK) for the scikit-learn machine learning library as part of "An Empirical Analysis of the Laplace and Neural Tangent Kernels" master's thesis (found at http://hdl.handle.net/20.500.12680/d504rr81v and https://arxiv.org/abs/2208.03761). This library is meant to directly integrate with sklearn.gaussian_process module. This implementation of the NTK can be used in combination with other kernels to train and predict with Gaussian process regressors and classifiers.
Installation
Dependencies
scikit-ntk requires:
- Python (>=3.8)
- scikit-learn (>=1.0.1)
User installation
In terminal using pip run:
pip install scikit-ntk
Usage
Usage is described in examples/usage.py; however, to get started simply import the NeuralTangentKernel class:
from skntk import NeuralTangentKernel as NTK
kernel_ntk = NTK(D=3, bias=0.01, bias_bounds=(1e-6, 1e6))
Once declared, usage is the same as other scikit-learn kernels.
Building
Python Poetry (>=1.2) is required if you wish to build scikit-ntk from source. In order to build follow these steps:
- Clone the repository
git clone git@github.com:392781/scikit-ntk.git
- Enable a Poetry virtual environment
poetry shell
- Build and install
poetry build
poetry install --with dev
Citation
If you use scikit-ntk in your scientific work, please use the following citation alongside the scikit-learn citations found at https://scikit-learn.org/stable/about.html#citing-scikit-learn:
@mastersthesis{lencevicius2022laplacentk,
author = "Ronaldas Paulius Lencevicius",
title = "An Empirical Analysis of the Laplace and Neural Tangent Kernels",
school = "California State Polytechnic University, Pomona",
year = "2022",
month = "August",
note = {\url{http://hdl.handle.net/20.500.12680/d504rr81v}}
}
Metadata
Release files for scikit-ntk 1.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| scikit_ntk-1.2.1.tar.gz | 5.2 kB | Without provenance | Details for scikit_ntk-1.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| scikit_ntk-1.2.1-py3-none-any.whl | Python 3 | none | any | Details for scikit_ntk-1.2.1-py3-none-any.whl |
Total release size: 10.4 kB
Release files / scikit_ntk-1.2.1.tar.gz
| Download URL | scikit_ntk-1.2.1.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8a1bd65d146b4121cd1c696b04b014821d8c2870c319f3d426efd77509e04085
|
|
BLAKE2b-256 checksum How to use checksums |
5196b2a7af9daa4f2c986d2e97a001125572ebee0591d605038298ad7307283c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.2 CPython/3.12.6 Linux/6.8.0-1014-azure
|
Release files / scikit_ntk-1.2.1-py3-none-any.whl
| Download URL | scikit_ntk-1.2.1-py3-none-any.whl |
|---|---|
| Size | 5.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
953c5a2d32b5b549e7627a5f5dbceaa66d5a16498d736ddc2b678c384f28d3a6
|
|
BLAKE2b-256 checksum How to use checksums |
f1a938204bed67b4d3d532d2270a12b1a0003506e72166229dc0f4b2bdce541f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.2.2 CPython/3.12.6 Linux/6.8.0-1014-azure
|
Security for scikit-ntk 1.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.