def convertLimits(limits, form = None): if not isinstance(limits, list): raise ValueError("No way to convert limits because {0} is not a list.".format(limits)) if not all(limits): return limits ## return list because there is a None in the list if form is None: if len(limits) < 2: raise ValueError("List {0} does not have two or more elements".format(limits)) if isinstance(limits[0], int): dist = rint(limits[0], limits[-1]) elif isinstance(limits[0], float): dist = rfloat(limits[0], limits[-1]) elif isinstance(limits[0], str): dist = limits else: raise ValueError("Not sure how to process list {0}.".format(limits)) else: if form == "uniform": if len(limits) < 2: raise ValueError("List {0} does not have two or more elements".format(limits)) if isinstance(limits[0], int): dist = rint(limits[0], limits[-1]) elif isinstance(limits[0], float): dist = rfloat(limits[0], limits[-1]) else: raise ValueError("Form {0} is not supported.".format(form)) return dist
def getDecisionTreeClassifierParams(): treeParams = { "max_depth": [2, 4, 6, None], "max_features": ['auto', 'sqrt', 'log2', None], "min_impurity_decrease": rfloat(0.0, 0.25), "min_samples_leaf": rint(1, 10) } params = treeParams params["criterion"] = ["gini", "entropy"] param_grid = {} for param, dist in params.iteritems(): param_grid[param] = convertDistribution(dist) retval = {"dist": params, "grid": param_grid} return retval
def getExtraTreesClassifierParams(): treeParams = {"max_depth": [2, 4, 6, 8, None], "max_features": ['auto', 'sqrt', 'log2', None], "min_impurity_decrease": rfloat(0.0, 0.25), "min_samples_leaf": rint(1, 10)} params = treeParams #params["bootstrap"] = [False, True] #params["criterion"] = ["mae", "mse"] params["n_estimators"] = [100] param_grid = {} for param,dist in params.iteritems(): param_grid[param] = convertDistribution(dist) retval = {"dist": params, "grid": param_grid} return retval