Skip to content

A hybrid Particle Swarm Optimization - Simulated Annealing algorithm for automatic AI algorithm selection and hyperparameter tuning

License

Notifications You must be signed in to change notification settings

CzakoZoltan08/AutomaticAI

Repository files navigation

AutomaticAI - A Hybrid Approach for Automatic Artificial Intelligence Algorithm Selection and Hyperparameter Tuning

Introduction

This is method used for solving the problem of AI algorithm selection and hyperparameter tuning, without human intervention, in a fully automated way. The method is a hybrid approach, a combination between Particle Swarm Optimization and the Simulated Annealing.

Example Usage

from sklearn import datasets

from sklearn.model_selection import train_test_split

from sklearn.metrics import accuracy_score

from AutoAIAlgorithm.ParticleSwarmOptimization import PSO

def main(): # load the MNIST digits dataset

mnist = datasets.load_digits()

X = mnist.data

y = mnist.target

# Splitting the data into training set, test set and validation set

x_train, x_test, y_train, y_test = train_test_split(X, y)

num_particles=5

num_iterations=30

pso = PSO(particle_count=num_particles,
          distance_between_initial_particles=0.7,
          evaluation_metric=accuracy_score)

best_metric, best_model = pso.fit(X_train=x_train,
                                  X_test=x_test,
                                  Y_train=y_train,
                                  Y_test=y_test,
                                  maxiter=num_iterations,
                                  verbose=True,
                                  max_distance=0.05)
        
print(best_metric)
print(best_model)

if name == "main": main()

About

A hybrid Particle Swarm Optimization - Simulated Annealing algorithm for automatic AI algorithm selection and hyperparameter tuning

Resources

License

Stars

Watchers

Forks

Packages

No packages published