Metadata-Version: 2.1
Name: mihkelBayesian
Version: 1.0.0
Summary: Machine learning hyperparameter optimiser using the Bayesian model
Home-page: https://github.com/mihkelKR/mihkelBayesian
Author: Mihkel Kaarel Raidal
Author-email: m.k.raidal@gmail.com
License: MIT
Description: # mihkelBayesian
        
        This is a Bayesian optimizer created to optimize hyperparameters different functions and machine learning. 
        
        #  Installation
        
        Run the following command:
        pip install mihkelBayesian
        
        # How to mihkelBayesian
        
        ## Optimizing hyperparameters
        
        In order to optimize 2 hyperparameters you need to: 
        
        >from mihkelBayesian import optimize
        
        >min_val, min_hyperparameters = optimize.run(evaluateFunction, functionConstants, n_iterations,bounds) 
        
        evaluateFunction - a string of the same name as the function you wish to evaluate in functions.py. 
        functionConstans - a list of constants you wish to apply to the evaluateFunction
        n_iterations - how many measurements of the function the optimizer is allower to make
        bounds - (1 x 2) shape numpy array that limits the searchspace in the form of [[x1min,x1max],[x2min,x2max]]
        min_val - the smallest function value 
        min_hyperparameters - hyperparameter pair corresponding to that value. 
        
        (Eg. run("rosenbrock",[1,10],300,np.array([[0,10],[-20,40]])))
        
        ## Choosing the function to evaluate
        
        Open functions.py to see all currently available functions. Each function takes an array XY that is automatically generated by the optimizer and a list of function constants that the function uses. Use one of the pre-existing functions or write your own function that the optimizer will call upon. Custom function can be analytical, machine learning etc. 
        
        
        ## Testing
        
        Pytest is used to test the code. All tests are located in the 'tests' folder.To run the tests, execute:
        
        > pytest
        
        # Notes
        
        You can vary the hyperparameters of the optimizer in order to get better results.
        
        More than 500 no_iterations takes long time to compute. Often no more than 300 iterations are needed. 
        
        One run with 500 iterations takes about 4 minutes if the function evaluation is instantaneous.
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
