def create_random_forest_param_grid(num_estimators, max_depths,
                                    min_samples_leaves, num_workers=1):
    """
    Returns a parameter grid for a random forest
    :param num_estimators: list
    :param max_depths: list
    :param min_samples_leaves: list
    :param num_workers: int
    :return: dictionary
    """
    criterion = ['gini', 'entropy']
    max_features = ['auto', 'sqrt', 'log2', 0.2]
    oob_scores = [False]

    param_grid = {'n_estimators': num_estimators,
                    'criterion': criterion,
                    'max_features': max_features,
                    'min_samples_leaf': min_samples_leaves,
                    'oob_score': oob_scores,
                    'max_depth': max_depths,
                    'n_jobs': [num_workers]}
    return param_grid