Shouldn't these be improvements to scipy, rather than live in scikit-learn?
Gaël On Mon, May 09, 2016 at 09:47:59AM +0200, Matthias Feurer wrote: > Hi Andy, > Having distributions objects would be useful for several reasons: > 1. Having a uniform way to programatically access the parameters of all kinds > of distribution objects. Currently, I could parse the 'args' item in > 'distribution.__dict__'. I don't know how important this is for others, > though. > 2. Having a helpful __repr__. Currently, printing a distribution does not even > tell the kind of distribution: > >>> uniform = scipy.stats.uniform(3, 5) > >>> print(uniform) > <scipy.stats._distn_infrastructure.rv_frozen object at 0x7f1a61657898> > 3. Some useful distributions aren't easily possible with scipy.stats. Can you > please give me examples for: > * tuning the number of layers and the number of hidden neurons of the > MLPClassifier? > * tuning C and gamma of SVC on a log scale between 2^12 and 2^12? > I couldn't find appropriate objects in scipy.stats and ended up defining my > own. > Best, > Matthias > to have a useful representation of distribution __repr__), and finally to > have > distributions > On 08.05.2016 23:49, Andreas Mueller wrote: > Hi Matthias. > Can you explain this point again? > Is it about the bad __repr__ ? > Thanks, > Andy > On 05/07/2016 08:56 AM, Matthias Feurer wrote: > Dear Joel, > Thank you for taking the time to answer my email. I didn't see the PR > on this topic, thanks for pointing me to that. I can see your points > with regards to the get_params() method and it might be better if I > write more serialization code on my side (although for example > RandomizedSearchCV also returns a lot of parameters one would not > consider searching over). > Nevertheless, I still think it would be a good idea to have > distribution objects in scikit-learn since some common use cases > cannot > be easily handled with scipy.stats (see my last email for examples). > Best regards, > Matthias > On 07.05.2016 14:41, Joel Nothman wrote: > On 7 May 2016 at 19:12, Matthias Feurer < > feur...@informatik.uni-freiburg.de> wrote: > > 1. Return the fit and predict time in `grid_scores_` > This has been proposed for many years as part of an overhaul of > grid_scores_. The latest attempt is currently underway at https:// > github.com/scikit-learn/scikit-learn/pull/6697, and has a good > chance of being merged. > > 2. Add distribution objects to scikit-learn which have > get_params and > set_params attributes > Your use of get_params to perform serialisation is certainly not > what get_params is designed for, though I understand your use of > it > that way... as long as all your parameters are either primitives > or > objects supporting get_params. However, this is not by design. > Further, param_distributions is a dict whose values are > scipy.stats > rvs; get_params currently does not traverse dicts, so this is > already unfamiliar territory requiring a lot of design, even once > we were convinced that this were a valuable use-case, which I am > not certain of. > > 3. Add get_params and set_params to CV objects > get_params and set_params are intended to allow programmatic > search > over those parameter settings. This is not often what one does > with > the parameters of CV splitting methods, but I acknowledge that > supporting this would not be difficult. Still, if serialisation is > the purpose of this, it's not really the point. > > ------------------------------------------------------------------------------ > Find and fix application performance issues faster with > Applications Manager > Applications Manager provides deep performance insights into > multiple tiers of > your business applications. It resolves application problems > quickly and > reduces your MTTR. Get your free trial! > https://ad.doubleclick.net/ddm/clk/302982198;130105516;z > _______________________________________________ > Scikit-learn-general mailing list > Scikit-learn-general@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/scikit-learn-general > > ------------------------------------------------------------------------------ > Find and fix application performance issues faster with Applications > Manager > Applications Manager provides deep performance insights into multiple > tiers of > your business applications. It resolves application problems quickly > and > reduces your MTTR. Get your free trial! > https://ad.doubleclick.net/ddm/clk/302982198;130105516;z > _______________________________________________ > Scikit-learn-general mailing list > Scikit-learn-general@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/scikit-learn-general > > ------------------------------------------------------------------------------ > Find and fix application performance issues faster with Applications > Manager > Applications Manager provides deep performance insights into multiple > tiers of > your business applications. It resolves application problems quickly and > reduces your MTTR. Get your free trial! > https://ad.doubleclick.net/ddm/clk/302982198;130105516;z > _______________________________________________ > Scikit-learn-general mailing list > Scikit-learn-general@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/scikit-learn-general > ------------------------------------------------------------------------------ > Find and fix application performance issues faster with Applications Manager > Applications Manager provides deep performance insights into multiple tiers of > your business applications. It resolves application problems quickly and > reduces your MTTR. Get your free trial! > https://ad.doubleclick.net/ddm/clk/302982198;130105516;z > _______________________________________________ > Scikit-learn-general mailing list > Scikit-learn-general@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/scikit-learn-general -- Gael Varoquaux Researcher, INRIA Parietal NeuroSpin/CEA Saclay , Bat 145, 91191 Gif-sur-Yvette France Phone: ++ 33-1-69-08-79-68 http://gael-varoquaux.info http://twitter.com/GaelVaroquaux ------------------------------------------------------------------------------ Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ Scikit-learn-general mailing list Scikit-learn-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/scikit-learn-general