You can always amend your melange proposal, so there is no reason not to
submit an early version.
On 03/25/2015 04:18 PM, Artem wrote:
Ok, so I removed matrix y from the proposal
<https://github.com/scikit-learn/scikit-learn/wiki/GSoC-2015-Proposal:-Metric-Learning-module>.
Therefore I also shortened the first iteration by one week, since no
changes to the current code are needed.
This allowed me to extend the last iteration by one week, which makes
kernel ITML a bit more probable.
I'm going to send this proposal to melange tomorrow, so if you have
comments — please reply.
Also, if some of previous objections were not addressed, please repeat
them. I might have missed something.
On Wed, Mar 25, 2015 at 5:05 AM, Mathieu Blondel <math...@mblondel.org
<mailto:math...@mblondel.org>> wrote:
I think the problem with matrix-like Y is that Y would be
symmetric. Thus for doing cross-validation one would need to
select both rows and columns. This is why I suggested to add a
_pairwise_y property like the _pairwise property that we use in
kernel methods, e.g.,
https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/kernel_pca.py
This project could potentially be developed in a separate git
repo. This would take off the pressure of having to design a
perfect API. This will of course depend on how many slots we get
and how we want to prioritize them.
M.
On Wed, Mar 25, 2015 at 10:04 AM, Vlad Niculae <zephy...@gmail.com
<mailto:zephy...@gmail.com>> wrote:
Hi Artem, hi everybody,
There were two API issues and I think both need thought. The
first is the matrix-like Y which at the moment overlaps
semantically with multilabel and multioutput-multiclass
(though I think it could be seen as a form of multi-target
regression…)
The second is the `estimator.metric` which would be a new
convention. The problem here is proxying
fit/predict/{set|get}_params calls to the parent, as Joel noted.
IMHO the first is slightly less scary that the second, but I’m
not sure where we should draw the line.
A few thoughts and questions about your proposal, on top of
the excellent comments the others gave so far:
The matrix-like Y links to a question I had: you say it only
has -1, 1s and 0s. But don’t metric learning methods support
more fine-grained (continuous) values there? Otherwise the
expressiveness gain over just having a classification y is not
that big, is it?
Overall the proposal would benefit by including a bit more
detail on the metric learning methods and the
relationship/differences/tradeoffs between them.
Would metric learning be useful for regression in any way? My
question was triggered by your saying that it could be used in
the KNN classifier, which made me wonder why not in the
regressor. E.g. one could bin the `y`.
Nitpicks:
* what does SWE stand for?
* missing articles: equivalent to (linear) -> equivalent to a
(linear), as if trained kernelized -> as if we trained a
kernelized, Core contribution-> The core contribution, expect
integration phase -> expect the integration phase.
* I think ITML skips from review #1 to review #3.
Hope this helps,
Yours,
Vlad
> On 24 Mar 2015, at 20:25, Artem <barmaley....@gmail.com
<mailto:barmaley....@gmail.com>> wrote:
>
> You mean matrix-like y?
>
> Gael said
> > FWIW It'll require some changes to cross-validation routines.
> I'd rather we try not to add new needs and usecases to these
before we release 1.0. We are already having a hard time
covering in a homogeneous way all the possible options.
>
> Then Andreas
> 1.2: matrix-like Y should actually be fine with
cross-validation. I think it would be nice if we could get
some benefit by having a classification-like y, but I'm not
opposed to also allowing matrix Y.
>
> So if we don't want to alter API, I suppose this feature
should be postponed until 1.0?
>
>
> On Wed, Mar 25, 2015 at 1:44 AM, Olivier Grisel
<olivier.gri...@ensta.org <mailto:olivier.gri...@ensta.org>>
wrote:
> I also share Gael's concerns with respect to extending our
API in yet
> another direction at a time where we are trying to focus on
ironing
> out consistency issues...
>
> --
> Olivier
>
>
------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel
Website, sponsored
> by Intel and developed in partnership with Slashdot Media,
is your hub for all
> things parallel software development, from weekly thought
leadership blogs to
> news, videos, case studies, tutorials and more. Take a look
and join the
> conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> Scikit-learn-general mailing list
> Scikit-learn-general@lists.sourceforge.net
<mailto:Scikit-learn-general@lists.sourceforge.net>
>
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
>
>
------------------------------------------------------------------------------
> Dive into the World of Parallel Programming The Go Parallel
Website, sponsored
> by Intel and developed in partnership with Slashdot Media,
is your hub for all
> things parallel software development, from weekly thought
leadership blogs to
> news, videos, case studies, tutorials and more. Take a look
and join the
> conversation now.
http://goparallel.sourceforge.net/_______________________________________________
> Scikit-learn-general mailing list
> Scikit-learn-general@lists.sourceforge.net
<mailto:Scikit-learn-general@lists.sourceforge.net>
>
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel
Website, sponsored
by Intel and developed in partnership with Slashdot Media, is
your hub for all
things parallel software development, from weekly thought
leadership blogs to
news, videos, case studies, tutorials and more. Take a look
and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
<mailto:Scikit-learn-general@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel
Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your
hub for all
things parallel software development, from weekly thought
leadership blogs to
news, videos, case studies, tutorials and more. Take a look and
join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
<mailto:Scikit-learn-general@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Scikit-learn-general mailing list
Scikit-learn-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scikit-learn-general