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

Reply via email to