Implementation of the neural tangent kernel for scikit-learn's Gaussian process module.
Project description
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}}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scikit_ntk-1.2.1.tar.gz.
File metadata
- Download URL: scikit_ntk-1.2.1.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.12.6 Linux/6.8.0-1014-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a1bd65d146b4121cd1c696b04b014821d8c2870c319f3d426efd77509e04085
|
|
| MD5 |
e94c41cf9099001127719153297fb915
|
|
| BLAKE2b-256 |
5196b2a7af9daa4f2c986d2e97a001125572ebee0591d605038298ad7307283c
|
File details
Details for the file scikit_ntk-1.2.1-py3-none-any.whl.
File metadata
- Download URL: scikit_ntk-1.2.1-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.12.6 Linux/6.8.0-1014-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
953c5a2d32b5b549e7627a5f5dbceaa66d5a16498d736ddc2b678c384f28d3a6
|
|
| MD5 |
29dc0fecc670117d25dc523b405d2d64
|
|
| BLAKE2b-256 |
f1a938204bed67b4d3d532d2270a12b1a0003506e72166229dc0f4b2bdce541f
|