Exemplo n.º 1
0
def test_SymbolicFeatures_pickle(data):
    exponents = [1]
    operators = {}
    sym = sf.SymbolicFeatures(exponents, operators)
    assert pickle.loads(pickle.dumps(sym)).__dict__ == sym.__dict__
    sym.fit(data)
    assert pickle.loads(
        pickle.dumps(sym)).get_feature_names() == sym.get_feature_names()
Exemplo n.º 2
0
def test_SymbolicFeatures_remove_id(data):
    """ProductFeature x_i * x_i**2 == x_i**3
    """
    operators = {}
    exponents = [1, 2, 3]
    sym = sf.SymbolicFeatures(exponents, operators).fit(data)
    # simple * 2 + products - excluded
    assert len(sym.get_feature_names()) == 2 * 3 + 15 - 2
Exemplo n.º 3
0
def test_SymbolicFeatures(data):
    operators = {"log": np.log}
    exponents = [2]

    sym = sf.SymbolicFeatures(exponents, operators)
    features = sym.fit_transform(data)

    names = sym.get_feature_names()

    assert len(names) == features.shape[1]
    assert features.shape[0] == data.shape[0]
Exemplo n.º 4
0
from sklearn.datasets import load_boston
from sklearn.linear_model import Lasso
import matplotlib.pyplot as plt
import numpy as np
import sparsereg.preprocessing.symfeat as sf

from sparsereg.model import STRidge
from sparsereg.util.net import net

data = load_boston()
x, y = data.data, data.target

exponents = [1]
operators = {}

sym = sf.SymbolicFeatures(exponents=exponents, operators=operators)
features = sym.fit_transform(x)

ests = [Lasso, STRidge]
attrs = ["alpha", "threshold"]
names = ["Lasso", "STRidge"]

for est, attr, name in zip(ests, attrs, names):

    models = net(est,
                 features,
                 y,
                 attr,
                 filter=True,
                 max_coarsity=5,
                 r_max=1e5)
Exemplo n.º 5
0
def test_SymbolicFeatures_redundant_data():
    data = np.ones(shape=(10, 10))
    exponents = [1, 2]
    operators = {}
    sym = sf.SymbolicFeatures(exponents, operators).fit(data)
    assert len(sym.get_feature_names()) == 1