sklearn.model_selection.ParameterSampler

class sklearn.model_selection.ParameterSampler

Generador de parámetros muestreados a partir de distribuciones dadas.

Iterable no determinista sobre combinaciones candidatas aleatorias para la búsqueda de hiperparámetros. Si todos los parámetros se presentan como una lista, se realiza un muestreo sin reemplazo. Si al menos un parámetro se presenta como una distribución, se utiliza el muestreo con reemplazo. Es muy recomendable utilizar distribuciones continuas para parámetros continuos.

Más información en el Manual de usuario.

Parámetros
param_distributionsdict

Diccionario con nombres de parámetros (str) como claves y distribuciones o listas de parámetros a probar. Las distribuciones deben proporcionar un método rvs para el muestreo (como los de scipy.stats.distributions). Si se da una lista, se muestrea uniformemente. Si se da una lista de dicts, primero se muestrea un dict de manera uniforme, y luego se muestrea un parámetro usando ese dict como arriba.

n_iterint

Número de ajustes de parámetros que se producen.

random_stateentero, instancia de RandomState o None, por defecto=None

Estado del generador de números pseudoaleatorios utilizado para el muestreo uniforme aleatorio de las listas de valores posibles en lugar de las distribuciones de scipy.stats. Pase un int para una salida reproducible a través de múltiples llamadas a la función. Ver Glosario.

Devuelve
paramsdict of str to any

Diccionarios Yields que asignan cada parámetro del estimador a un valor muestreado.

Ejemplos

>>> from sklearn.model_selection import ParameterSampler
>>> from scipy.stats.distributions import expon
>>> import numpy as np
>>> rng = np.random.RandomState(0)
>>> param_grid = {'a':[1, 2], 'b': expon()}
>>> param_list = list(ParameterSampler(param_grid, n_iter=4,
...                                    random_state=rng))
>>> rounded_list = [dict((k, round(v, 6)) for (k, v) in d.items())
...                 for d in param_list]
>>> rounded_list == [{'b': 0.89856, 'a': 1},
...                  {'b': 0.923223, 'a': 1},
...                  {'b': 1.878964, 'a': 2},
...                  {'b': 1.038159, 'a': 2}]
True