from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestClassifier
# define parameter grid
param_grid = {
'n_estimators': [100, 500],
'max_depth': [3, 5, 7],
'min_samples_leaf': [1, 2, 4]
}
# create Random Forest classifier
rf_clf = RandomForestClassifier()
# create GridSearchCV object
grid_search = GridSearchCV(estimator=rf_clf, param_grid=param_grid, cv=5, n_jobs=-1)
# fit GridSearchCV object to training data
grid_search.fit(X_train, y_train)
# print best hyperparameters
print("Best hyperparameters:", grid_search.best_params_)