Skip to content
Snippets Groups Projects
benchmark_kernel_speeds.py 739 B
Newer Older
Benjamin Murauer's avatar
Benjamin Murauer committed
from time import perf_counter
from typing import Callable

from sklearn.datasets import fetch_20newsgroups

Benjamin Murauer's avatar
Benjamin Murauer committed
from tuhlbox.stringkernels import (  # legacy_intersection_kernel,; legacy_presence_kernel,; legacy_spectrum_kernel,
Benjamin Murauer's avatar
Benjamin Murauer committed
data = fetch_20newsgroups()["data"][:100]


def benchmark(kernel_method: Callable) -> float:
    start = perf_counter()
    kernel_method(1, 4)(data, data)
    return perf_counter() - start


kernels = [
    intersection_kernel,
Benjamin Murauer's avatar
Benjamin Murauer committed
    # legacy_intersection_kernel,
    presence_kernel,
Benjamin Murauer's avatar
Benjamin Murauer committed
    # legacy_presence_kernel,
    spectrum_kernel,
Benjamin Murauer's avatar
Benjamin Murauer committed
    # legacy_spectrum_kernel,
]

for kernel in kernels:
Benjamin Murauer's avatar
Benjamin Murauer committed
    print(f"{kernel.__name__}: {benchmark(kernel)}")