Warning
DEPRECATED
-
class sklearn.grid_search.ParameterSampler(param_distributions, n_iter, random_state=None)
[source] -
Generator on parameters sampled from given distributions.
Deprecated since version 0.18: This module will be removed in 0.20. Use
sklearn.model_selection.ParameterSampler
instead.Non-deterministic iterable over random candidate combinations for hyper- parameter search. If all parameters are presented as a list, sampling without replacement is performed. If at least one parameter is given as a distribution, sampling with replacement is used. It is highly recommended to use continuous distributions for continuous parameters.
Note that as of SciPy 0.12, the
scipy.stats.distributions
do not accept a custom RNG instance and always use the singleton RNG fromnumpy.random
. Hence settingrandom_state
will not guarantee a deterministic iteration wheneverscipy.stats
distributions are used to define the parameter search space.Read more in the User Guide.
Parameters: param_distributions : dict
Dictionary where the keys are parameters and values are distributions from which a parameter is to be sampled. Distributions either have to provide a
rvs
function to sample from them, or can be given as a list of values, where a uniform distribution is assumed.n_iter : integer
Number of parameter settings that are produced.
random_state : int or RandomState
Pseudo random number generator state used for random uniform sampling from lists of possible values instead of scipy.stats distributions.
Returns: params : dict of string to any
Yields dictionaries mapping each estimator parameter to as sampled value.
Examples
1234567891011121314>>>
from
sklearn.grid_search
import
ParameterSampler
>>>
from
scipy.stats.distributions
import
expon
>>>
import
numpy as np
>>> np.random.seed(
0
)
>>> param_grid
=
{
'a'
:[
1
,
2
],
'b'
: expon()}
>>> param_list
=
list
(ParameterSampler(param_grid, n_iter
=
4
))
>>> 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
.. automethod:: __init__
Please login to continue.