# How to use RandomizedSearchCV in Deep Leaning using Keras

Randomized search is a technique used to find the best set of hyperparameters for a machine learning model. It is similar to grid search but instead of trying out all possible combinations of hyperparameters, it randomly samples a given number of combinations. It can be useful when the number of hyperparameters is high, since it can be computationally expensive to train a model for all possible combinations.

In Keras, you can use the RandomizedSearchCV function from the sklearn library to perform randomized search for a deep learning model. This function takes several arguments, such as the model, the range of possible values for each hyperparameter, the validation dataset, the evaluation metric and the number of random combinations to try.

The first step to use RandomizedSearchCV in Keras is to create a function that creates and compiles the model. This function should take the hyperparameters as arguments, so they can be passed to the RandomizedSearchCV function. Next, you need to specify the range of possible values for each hyperparameter.

Once you have defined the model and the range of possible values for each hyperparameter, you can create an instance of the RandomizedSearchCV class and pass it the model, the range of possible values, the validation dataset, the evaluation metric and the number of random combinations to try. Then call the fit function on the created instance of the RandomizedSearchCV class with the training data as an argument.

The RandomizedSearchCV function will then train the model for a specified number of random combinations of hyperparameter values and evaluate its performance on the validation dataset. Once the randomized search is completed, you can access the best combination of hyperparameters that produced the best performance on the validation dataset.

It is important to note that, similar to GridSearchCV, RandomizedSearchCV also returns the best combination of hyperparameters rather than the best model. To obtain the best model, you need to instantiate a new model with the best combination of hyperparameters and train it on the entire training dataset.

Another advantage of using RandomizedSearchCV over GridSearchCV is that it can save computational time. Because it only tries a random subset of all possible combinations, it can be much faster than GridSearchCV for large sets of hyperparameters, making it a useful tool for high-dimensional parameter spaces.

In summary, to use RandomizedSearchCV in deep learning using Keras, you need to create a function that creates and compiles the model and takes the hyperparameters as arguments, specify the range of possible values for each hyperparameter, create an instance of the RandomizedSearchCV class and pass it the model, the range of possible values, the validation dataset, the evaluation metric and the number of random combinations to try. Then call the fit function on the created instance of the RandomizedSearchCV class with the training data as an argument. The RandomizedSearchCV function will then train the model for a specified number of random combinations of hyperparameter values and evaluate its performance on the validation dataset and returns the best combination of hyperparameters that produced the best performance on the validation dataset.

In this Applied Machine Learning & Data Science Recipe (Jupyter Notebook), the reader will find the practical use of applied machine learning and data science in Python programming: How to use RandomizedSearchCV in Deep Leaning using Keras.

Latest end-to-end Learn by Coding Recipes in Project-Based Learning:

**All Notebooks in One Bundle: Data Science Recipes and Examples in Python & R****. **

**End-to-End Python Machine Learning Recipes & Examples.**

**End-to-End R Machine Learning Recipes & Examples.**

**Applied Statistics with R for Beginners and Business Professionals**

**Data Science and Machine Learning Projects in Python: Tabular Data Analytics**

**Data Science and Machine Learning Projects in R: Tabular Data Analytics**

**Python Machine Learning & Data Science Recipes: Learn by Coding**

**R Machine Learning & Data Science Recipes: Learn by Coding**

**Comparing Different Machine Learning Algorithms in Python for Classification (FREE)**

**Introduction to Applied Machine Learning & Data Science for Beginners, Business Analysts, Students, Researchers and Freelancers with Python & R Codes @ Western Australian Center for Applied Machine Learning & Data Science (WACAMLDS) !!!**

**Subscribe SETScholars on YouTube.**

**Support SETScholars** for Free End-to-End Applied Machine Learning and Data Science Projects & Recipes by becoming a member of WA Center For Applied Machine Learning and Data Science (WACAMLDS). **Membership fee only $1.75 per month (on annual plan) and you will get access to 425+ end-to-end Python & R Projects.**

Western Australian Center for Applied Machine Learning & Data Science – Membership

How to setup a binary classification Deep Leaning Model in Keras

How to setup a multiclass classification Deep Leaning Model in Keras