Tpot: Will tpot support py-earth in the future?

Created on 30 Aug 2017  ·  1Comment  ·  Source: EpistasisLab/tpot

Py-earth is a Python implementation of Jerome Friedman's Multivariate Adaptive Regression Splines algorithm, in the style of scikit-learn. The py-earth package implements Multivariate Adaptive Regression Splines using Cython and provides an interface that is compatible with scikit-learn's Estimator, Predictor, Transformer, and Model interfaces.
https://github.com/scikit-learn-contrib/py-earth
Will tpot support py-earth in the future?

question

Most helpful comment

Thank you for introducing this algorithm. We need check whether this algorithm is suitable before putting it into default configuration in future version of TPOT. @rhiever

For now, you can use a custom TPOT configuration to include this algorithms that TPOT optimizes over. You may find some good examples in our built-in configuration. Below is a demo:

import numpy as np
from tpot import TPOTRegressor
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split

housing = load_boston()
X_train, X_test, y_train, y_test = train_test_split(housing.data, housing.target,
                                                    train_size=0.75, test_size=0.25)

tpot_config = {
    'sklearn.preprocessing.Normalizer': {
        'norm': ['l1', 'l2', 'max']
    },

    'pyearth.Earth': {
        'max_degree': [1,2,3],
        'endspan_alpha': np.arange(0.0, 1.01, 0.05)
    }
}

tpot = TPOTRegressor(generations=5, population_size=30, verbosity=2, config_dict=tpot_config)
tpot.fit(X_train, y_train)
print(tpot.score(X_test, y_test))

>All comments

Thank you for introducing this algorithm. We need check whether this algorithm is suitable before putting it into default configuration in future version of TPOT. @rhiever

For now, you can use a custom TPOT configuration to include this algorithms that TPOT optimizes over. You may find some good examples in our built-in configuration. Below is a demo:

import numpy as np
from tpot import TPOTRegressor
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split

housing = load_boston()
X_train, X_test, y_train, y_test = train_test_split(housing.data, housing.target,
                                                    train_size=0.75, test_size=0.25)

tpot_config = {
    'sklearn.preprocessing.Normalizer': {
        'norm': ['l1', 'l2', 'max']
    },

    'pyearth.Earth': {
        'max_degree': [1,2,3],
        'endspan_alpha': np.arange(0.0, 1.01, 0.05)
    }
}

tpot = TPOTRegressor(generations=5, population_size=30, verbosity=2, config_dict=tpot_config)
tpot.fit(X_train, y_train)
print(tpot.score(X_test, y_test))
Was this page helpful?
0 / 5 - 0 ratings

Related issues

skrish13 picture skrish13  ·  3Comments

omarcr picture omarcr  ·  4Comments

weixuanfu picture weixuanfu  ·  5Comments

chjq201410695 picture chjq201410695  ·  4Comments

rhiever picture rhiever  ·  4Comments