Beispiel #1
0
def yield_datasets(model):

    from creme import base
    from creme import datasets
    from creme import stream
    from sklearn import datasets as sk_datasets

    model = guess_model(model)

    if isinstance(model, (base.BinaryClassifier, base.MultiClassifier)):
        yield datasets.Phishing()
    if isinstance(model, base.MultiClassifier):
        yield datasets.ImageSegments().take(500)
    if isinstance(model, base.Regressor):
        yield datasets.TrumpApproval()
    if isinstance(model, base.MultiOutputRegressor):
        yield stream.iter_sklearn_dataset(sk_datasets.load_linnerud())
    if isinstance(model, base.MultiOutputClassifier):
        yeast = stream.iter_sklearn_dataset(sk_datasets.fetch_openml('yeast', version=4))
        yield itertools.islice(yeast, 100)
Beispiel #2
0
def yield_datasets(model):

    from creme import base
    from creme import datasets
    from creme import stream
    from sklearn import datasets as sk_datasets

    model = guess_model(model)

    if isinstance(model, (base.BinaryClassifier, base.MultiClassifier)):
        yield datasets.Phishing()
    if isinstance(model, base.MultiClassifier):
        yield datasets.ImageSegments().take(500)
    if isinstance(model, base.Regressor):
        yield datasets.TrumpApproval()
    if isinstance(model, base.MultiOutputRegressor):
        yield stream.iter_sklearn_dataset(sk_datasets.load_linnerud())
    if isinstance(model, base.MultiOutputClassifier):
        yield datasets.Music()
Beispiel #3
0
def yield_datasets(model):

    from creme import base
    from creme import compose
    from creme import datasets
    from creme import preprocessing
    from creme import stream
    from sklearn import datasets as sk_datasets

    model = guess_model(model)

    # Classification
    if isinstance(model, (base.BinaryClassifier, base.MultiClassifier)):
        yield datasets.Phishing()

    # Multi-class classification
    if isinstance(model, base.MultiClassifier):
        yield datasets.ImageSegments().take(500)

    # Regression
    if isinstance(model, base.Regressor):
        yield datasets.TrumpApproval()

    # Multi-output regression
    if isinstance(model, base.MultiOutputRegressor):

        # 1
        yield stream.iter_sklearn_dataset(sk_datasets.load_linnerud())

        # 2
        class SolarFlare:
            """One-hot encoded version of `datasets.SolarFlare`."""
            def __iter__(self):
                oh = (compose.SelectType(str) |
                      preprocessing.OneHotEncoder()) + compose.SelectType(int)
                for x, y in datasets.SolarFlare():
                    yield oh.transform_one(x), y

        yield SolarFlare()

    # Multi-output classification
    if isinstance(model, base.MultiOutputClassifier):
        yield datasets.Music()
Beispiel #4
0
def yield_datasets(model):

    from creme import compose
    from creme import datasets
    from creme import preprocessing
    from creme import stream
    from creme import utils
    from sklearn import datasets as sk_datasets

    # Classification
    if utils.inspect.isclassifier(model):
        yield datasets.Phishing()

        # Multi-class classification
        if model._multiclass:
            yield datasets.ImageSegments().take(500)

    # Regression
    if utils.inspect.isregressor(model):
        yield datasets.TrumpApproval()

    # Multi-output regression
    if utils.inspect.ismoregressor(model):

        # 1
        yield stream.iter_sklearn_dataset(sk_datasets.load_linnerud())

        # 2
        class SolarFlare:
            """One-hot encoded version of `datasets.SolarFlare`."""
            def __iter__(self):
                oh = (compose.SelectType(str) | preprocessing.OneHotEncoder()) + compose.SelectType(int)
                for x, y in datasets.SolarFlare():
                    yield oh.transform_one(x), y
        yield SolarFlare()

    # Multi-output classification
    if utils.inspect.ismoclassifier(model):
        yield datasets.Music()
                functools.partial(torch.optim.Adagrad,
                                  lr=LR), optimizers.Adagrad(lr=LR)),
    'Momentum': (optim.Momentum(lr=LR, rho=.1),
                 functools.partial(torch.optim.SGD, lr=LR, momentum=.1),
                 optimizers.SGD(lr=LR, momentum=.1))
}


def add_intercept(x):
    return {**x, 'intercept': 1.}


for name, (creme_optim, torch_optim, keras_optim) in OPTIMIZERS.items():

    X_y = stream.iter_sklearn_dataset(dataset=datasets.load_boston(),
                                      shuffle=True,
                                      random_state=42)
    n_features = 13

    creme_lin_reg = (compose.FuncTransformer(add_intercept)
                     | linear_model.LinearRegression(
                         optimizer=creme_optim, l2=0, intercept_lr=0))

    torch_model = PyTorchNet(n_features=n_features)
    torch_lin_reg = PyTorchRegressor(network=torch_model,
                                     loss_fn=torch.nn.MSELoss(),
                                     optimizer=torch_optim(
                                         torch_model.parameters()))

    inputs = layers.Input(shape=(n_features, ))
    predictions = layers.Dense(1,