You're right, but it's work to change, and I think causes minimal trouble
right now. Would an issue to change it suffice? I don't think it's a
priority.


On Thu, Nov 14, 2013 at 3:06 PM, David Warde-Farley <
notifications@github.com> wrote:

> In hyperopt/base.py:
>
> > +    * **result**: a sub-dictionary representing what was returned by the fmin
> > +      evaluation function. This sub-dictionary has a key 'status' with a value
> > +      from `STATUS_STRINGS` and if the status is 'ok', then there should be
> > +      a 'loss' key as well with a floating-point value.  Other special keys in
> > +      this sub-dictionary may be used by optimization algorithms  (see them
> > +      for details). Other keys in this sub-dictionary can be used by the
> > +      evaluation function to store miscelaneous diagnostics and debugging
> > +      information.
> > +
> > +    * **misc**: despite generic name, this is currently where the trial's
> > +      hyperparameter assigments are stored. This sub-dictionary has two
> > +      elements: `'idxs'` and `'vals'`. The `vals` dictionary is
> > +      a sub-sub-dictionary mapping each hyperparameter to either `[]` (if the
> > +      hyperparameter is inactive in this trial), or `[<val>]` (if the
> > +      hyperparameter is active). The `idxs` dictionary is technically
> > +      redundant -- it is the same as `vals` but it maps hyperparameter names
>
> If it's redundant, why keep it? Why not store hyperparameters directly in
> the misc level?
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/hyperopt/hyperopt/pull/166/files#r7671648>
> .
>