Some equivalences of categories are constructed by explicitly giving a pair of functors that are inverses up to isomorphism. For example, the equivalence between CRing^op and affine schemes is given by the pair (Spec, GlobalSections). I'd say these are "natural", since no choices are made.

Another equivalence of categories is between finite dimensional vector spaces and the category consisting of one vector space of each dimension. The functor in one direction is just the inclusion, but the inverse requires making a bunch of choices. I'd say this is "unnatural".

But my definitions of "natural" and "unnatural" aren't precise. I suppose one of the triumphs of category theory has been the ability to make precise the definition of natural in some contexts. So my question is: how can I make this precise?