Ejemplo n.º 1
0
from benchopt.base import BaseSolver
from benchopt.util import safe_import

with safe_import() as solver_import:
    from cyanure import Regression


class Solver(BaseSolver):
    name = 'Cyanure'

    install_cmd = 'pip'
    requirements = ['cyanure-mkl']
    requirements_import = ['cyanure']

    def set_objective(self, X, y, lmbd):
        self.X, self.y, self.lmbd = X, y, lmbd

        n_samples = self.X.shape[0]

        self.solver = Regression(loss='square',
                                 penalty='l1',
                                 fit_intercept=False)
        self.solver_parameter = dict(lambd=self.lmbd / n_samples,
                                     solver='auto',
                                     tol=1e-12,
                                     verbose=False)

    def run(self, n_iter):
        self.solver.fit(self.X,
                        self.y,
                        max_epochs=n_iter,
Ejemplo n.º 2
0
import os
import numpy as np

from benchopt.base import BaseDataset
from benchopt.config import get_global_setting
from benchopt.util import safe_import

with safe_import():
    # Dependencies of download_libsvm are scikit-learn, download and tqdm
    from benchopt.utils.datasets.libsvm import download_libsvm
    from scipy import sparse

DATA_DIR = get_global_setting('data_dir')


class Dataset(BaseDataset):
    # TODO call the dataset log1p_train to harmonize with libsvm naming?
    name = "finance"

    install_cmd = 'pip'
    requirements = ['scikit-learn', 'scipy', 'download', 'tqdm']
    requirements_import = ['sklearn', 'scipy', 'download', 'tqdm']

    def get_data(self):

        X_path = os.path.join(DATA_DIR, self.name, "X.npz")
        y_path = os.path.join(DATA_DIR, self.name, "y.npy")

        try:
            X = sparse.load_npz(X_path)
            y = np.load(y_path)