Last active
May 21, 2021 08:49
-
-
Save jjerphan/6c9be1b18ebe298e436ccacd244467a4 to your computer and use it in GitHub Desktop.
Small ASV benchmark for scikit-learn/scikit-learn#19418
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from sklearn.feature_selection import mutual_info_regression, mutual_info_classif | |
from sklearn.neighbors import KernelDensity, NearestNeighbors | |
from .common import Benchmark | |
from sklearn.datasets import make_classification, make_regression | |
class RemovedCheckBenchmarks(Benchmark): | |
param_names = ['n', 'd'] | |
params = ( | |
[100, 1000, 10_000], | |
[10, 100], | |
) | |
class MutualInfoCCRemovedCheck(RemovedCheckBenchmarks): | |
def setup(self, n, d): | |
self.X, self.y = make_regression(n_samples=n, n_features=d) | |
def time_mi_cc(self, n, d): | |
mutual_info_regression(self.X, self.y, discrete_features=False) | |
class MutualInfoCDRemovedCheck(RemovedCheckBenchmarks): | |
def setup(self, n, d): | |
self.X, self.y = make_classification(n_samples=n, n_features=d) | |
def time_mi_cd(self, n, d): | |
mutual_info_classif(self.X, self.y, discrete_features=False) | |
class KernelDensityRemovedCheck(RemovedCheckBenchmarks): | |
def setup(self, n, d): | |
self.X, y = make_regression(n_samples=n, n_features=d) | |
self.kde = KernelDensity().fit(self.X, y) | |
def time_query(self, n, d): | |
self.kde.score_samples(self.X) | |
class NeighborsBaseCreationRemovedCheck(RemovedCheckBenchmarks): | |
def setup(self, n, d): | |
self.nn = NearestNeighbors(algorithm='kd_tree') | |
self.X, _ = make_regression(n_samples=n, n_features=d) | |
def time_creation(self, n, d): | |
self.nn.fit(self.X) | |
class NeighborsBaseQueryRemovedCheck(RemovedCheckBenchmarks): | |
def setup(self, n, d): | |
self.X, _ = make_regression(n_samples=n, n_features=d) | |
self.nn = NearestNeighbors(algorithm='kd_tree').fit(self.X) | |
def time_radius_neighbors(self, n, d): | |
self.nn.radius_neighbors(self.X) | |
def time_kneighbors(self, n, d): | |
self.nn.kneighbors(self.X) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment