Skip to content
forked from boliqq07/multiego

This is a Global optimization algorithm named EGO.

License

Notifications You must be signed in to change notification settings

MGEdata/multiego

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multiply EGO

EGO (Efficient global optimization) and multiply target EGO method.

References: Jones, D. R., Schonlau, M. & Welch, W. J. Efficient global optimization of expensive black-box functions. J. Global Optim. 13, 455–492 (1998)

Python Versions Version pypi Versions

Install

pip install multiego

Usage

if __name__ == "__main__":
    from sklearn.datasets import load_boston
    import numpy as np
    from multiego.ego import search_space, Ego
    from sklearn.model_selection import GridSearchCV
    from sklearn.svm import SVR

    #####model1#####
    model = SVR() #pre-trained good model with optimized prarmeters for special features
    ###

    X, y = load_boston(return_X_y=True)
    X = X[:, :5] 
    searchspace_list = [
        np.arange(0.01, 1, 0.1),
        np.array([0, 20, 30, 50, 70, 90]),
        np.arange(1, 10, 1),
        np.array([0, 1]),
        np.arange(0.4, 0.6, 0.02),
    ]
    searchspace = search_space(*searchspace_list)
    #
    me = Ego(searchspace, X, y, 500, model, n_jobs=6)

    re = me.egosearch()

Introduction

multiego.ego.Ego

For sklean-type single model.

multiego.base_ego.BaseEgo

  1. For any user-defined single model, just need offer mean and std of search space.
  2. For big search space out of memory , just need offer mean and std of search space.

multiego.multiplyego.MultiEgo

For sklean-type models.

multiego.base_multiplyego.BaseMultiEgo

  1. For any user-defined models, just need offer predict_y of search space.
  2. For big search space out of memory, just need offer predict_y of search space.

link

More examples can be found in test.

More powerful can be found mipego

About

This is a Global optimization algorithm named EGO.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.6%
  • Batchfile 0.4%