From adrin.jalali at gmail.com Thu Sep 1 02:52:36 2022 From: adrin.jalali at gmail.com (Adrin) Date: Thu, 1 Sep 2022 08:52:36 +0200 Subject: [scikit-learn] Query about backword compatibility of scikit-learn 1.2 with older versions of scikit-learn In-Reply-To: References: Message-ID: Hi Mehul, Generally speaking, when changing behavior or breaking things, we give users around 2 versions time to change their code. During that period, uesrs will get a `FutureWarning` and after that they might get an error, depending what the issue is. There is no place for you to really check all of them, but you can get an idea by carefully reading our changelog: https://scikit-learn.org/dev/whats_new.html Best, Adrin On Wed, Aug 31, 2022 at 9:28 PM Mehul Kantaria wrote: > Hello, > > I am going to start development of a tool with scikit-learn 1.2 as my > project work. I have tried to search on the internet but I couldn't find it > so I have sent this email. > > 1. My question is, if I use scikit-learn 1.2 for development of my tool > and in future if new versions of scikit-learn will be released, will they > be compatible with scikit-learn 1.2? > > 2. I would also like to know, from where I can find reverse compatibility > of all versions of scikit-learn from 0.15 to 1.2? > > > -- > Thanks and Regards. > > Mehulkumar Kantaria > *Master of Science - *Computer Engineering, SJSU, California, USA > (2021-2023) > _______________________________________________ > scikit-learn mailing list > scikit-learn at python.org > https://mail.python.org/mailman/listinfo/scikit-learn > -------------- next part -------------- An HTML attachment was scrubbed... URL: From praveenmec67 at gmail.com Sun Sep 4 02:07:24 2022 From: praveenmec67 at gmail.com (praveen thenraj) Date: Sun, 4 Sep 2022 11:37:24 +0530 Subject: [scikit-learn] Query about backword compatibility of scikit-learn 1.2 with older versions of scikit-learn In-Reply-To: References: Message-ID: Hi Adrian, I was looking for an implementation of the Maximal Marginal Relevance (MMR) function in the sklearn metrics module. But I am not able to find it. Can you please confirm if there are no predefined functions for MMR in sklearn library. If so can this be contributed to the sklearn library as open source? Thanks and Regards, Praveen Thenraj On Thu, 1 Sep 2022 at 12:24 PM, Adrin wrote: > Hi Mehul, > > Generally speaking, when changing behavior or breaking things, we give > users around 2 versions time to change their code. During that period, > uesrs will get a `FutureWarning` and after that they might get an error, > depending what the issue is. > > There is no place for you to really check all of them, but you can get an > idea by carefully reading our changelog: > https://scikit-learn.org/dev/whats_new.html > > Best, > Adrin > > On Wed, Aug 31, 2022 at 9:28 PM Mehul Kantaria > wrote: > >> Hello, >> >> I am going to start development of a tool with scikit-learn 1.2 as my >> project work. I have tried to search on the internet but I couldn't find it >> so I have sent this email. >> >> 1. My question is, if I use scikit-learn 1.2 for development of my tool >> and in future if new versions of scikit-learn will be released, will they >> be compatible with scikit-learn 1.2? >> >> 2. I would also like to know, from where I can find reverse compatibility >> of all versions of scikit-learn from 0.15 to 1.2? >> >> >> -- >> Thanks and Regards. >> >> Mehulkumar Kantaria >> *Master of Science - *Computer Engineering, SJSU, California, USA >> (2021-2023) >> _______________________________________________ >> scikit-learn mailing list >> scikit-learn at python.org >> https://mail.python.org/mailman/listinfo/scikit-learn >> > _______________________________________________ > scikit-learn mailing list > scikit-learn at python.org > https://mail.python.org/mailman/listinfo/scikit-learn > -- Thanks and Regards, Praveen Thenraj -------------- next part -------------- An HTML attachment was scrubbed... URL: From adrin.jalali at gmail.com Fri Sep 16 07:03:58 2022 From: adrin.jalali at gmail.com (Adrin) Date: Fri, 16 Sep 2022 13:03:58 +0200 Subject: [scikit-learn] Fwd: [SciPy-Dev] Use of another CI provider for native linux_aarch64 and macosx_arm64 In-Reply-To: References: Message-ID: Just FYI. The difference in build times seem quite significant. ---------- Forwarded message --------- From: Andrew Nelson Date: Fri, Sep 16, 2022 at 12:37 PM Subject: [SciPy-Dev] Use of another CI provider for native linux_aarch64 and macosx_arm64 To: scipy-dev Hi all, I've been investigating the use of cirrus-ci for native building of wheels for linux_aarch64. Currently it takes about 2 hours to build a wheel on Github Actions using emulation, but on cirrus-ci it's about 5 minutes. This will enable us to fully test the wheels that are produced, rather than just a subset of tests. It would also be possible to build macosx_arm64 wheels natively rather than a cross compile. Native builds are a huge plus, as it's a lot less complicated when compiling code. It would also be a possibility to have regular CI on those platforms, which are currently not being tested at all in our CI suite. Does anyone have comments on the use of yet another CI provider? I have a PR open in anticipation of a warm response, https://github.com/scipy/scipy/pull/17029. You can see a build, and the artifacts produced at https://cirrus-ci.com/build/6727646015913984. cheers, Andrew. _______________________________________________ SciPy-Dev mailing list -- scipy-dev at python.org To unsubscribe send an email to scipy-dev-leave at python.org https://mail.python.org/mailman3/lists/scipy-dev.python.org/ Member address: adrin.jalali at gmail.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From thomasjpfan at gmail.com Mon Sep 19 13:49:17 2022 From: thomasjpfan at gmail.com (Thomas J. Fan) Date: Mon, 19 Sep 2022 10:49:17 -0700 Subject: [scikit-learn] scikit-learn monthly developer meeting: Monday Sept 26, 2022 Message-ID: Dear all, The scikit-learn developer monthly meeting will take place on Monday Sept 26, 2022 at 20:30 UTC. - Video call link: https://meet.google.com/gmn-acub-mrr - Meeting notes / agenda: https://hackmd.io/0yokz72CTZSny8y3Re648Q - Local times: https://www.timeanddate.com/worldclock/meetingdetails.html?year=2022&month=9&day=25&hour=20&min=30&sec=0&p1=1440&p2=240&p3=248&p4=195&p5=179&p6=224&iv=1800 The goal of this meeting is to discuss ongoing development topics for the project. Everybody is welcome. As usual, please follow the code of conduct of the project: https://github.com/scikit-learn/scikit-learn/blob/main/CODE_OF_CONDUCT.md Regards, Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: From thomasjpfan at gmail.com Mon Sep 19 13:51:48 2022 From: thomasjpfan at gmail.com (Thomas J. Fan) Date: Mon, 19 Sep 2022 10:51:48 -0700 Subject: [scikit-learn] New core developer: Meekail Zain Message-ID: The core developers for Scikit-learn have recently voted to welcome Meekail Zain to the team, recognizing Zain's efforts and trustworthiness as a contributor. Congratulations, and thank you! -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.gregory at oregonstate.edu Fri Sep 23 16:16:43 2022 From: matt.gregory at oregonstate.edu (Gregory, Matthew) Date: Fri, 23 Sep 2022 20:16:43 +0000 Subject: [scikit-learn] methods available from last estimator in pipeline Message-ID: Hi all, I have what is probably a silly question. I read this passage on [1]: """ The pipeline has all the methods that the last estimator in the pipeline has, i.e. if the last estimator is a classifier, the Pipeline can be used as a classifier. If the last estimator is a transformer, again, so is the pipeline. """ I'm trying to create a pipeline where my last estimator is a KNeighborsClassifier and, instead of predict(), I was hoping to use kneighbors(). But unfortunately, when in a pipeline, I'm getting this AttributeError: AttributeError: 'Pipeline' object has no attribute 'kneighbors' Is kneighbors() really available from the Pipeline? Or is there an alternative way to call an element in the Pipeline to use it? I tried "pipe[-1].kneighbors(X)", but that doesn't seem to be applying the earlier transforms in the pipeline. Thanks for any pointers, matt [1] https://scikit-learn.org/stable/modules/compose.html From solegalli at protonmail.com Sat Sep 24 06:54:19 2022 From: solegalli at protonmail.com (Sole Galli) Date: Sat, 24 Sep 2022 10:54:19 +0000 Subject: [scikit-learn] methods available from last estimator in pipeline In-Reply-To: References: Message-ID: Did you try: pipeline.named_steps["the_string_name_for_knn"].kneighbours ? pipeline should be replaced by the name you gave to your pipeline and the string in named_steps is the name you have to the knn when setting the pipe. Sole Sent with Proton Mail secure email. ------- Original Message ------- On Friday, September 23rd, 2022 at 10:16 PM, Gregory, Matthew wrote: > Hi all, > > I have what is probably a silly question. I read this passage on [1]: > > """ > The pipeline has all the methods that the last estimator in the pipeline has, i.e. if the last estimator is a classifier, the Pipeline can be used as a classifier. If the last estimator is a transformer, again, so is the pipeline. > """ > > I'm trying to create a pipeline where my last estimator is a KNeighborsClassifier and, instead of predict(), I was hoping to use kneighbors(). But unfortunately, when in a pipeline, I'm getting this AttributeError: > > AttributeError: 'Pipeline' object has no attribute 'kneighbors' > > Is kneighbors() really available from the Pipeline? Or is there an alternative way to call an element in the Pipeline to use it? I tried "pipe[-1].kneighbors(X)", but that doesn't seem to be applying the earlier transforms in the pipeline. > > Thanks for any pointers, > matt > > [1] https://scikit-learn.org/stable/modules/compose.html > _______________________________________________ > scikit-learn mailing list > scikit-learn at python.org > https://mail.python.org/mailman/listinfo/scikit-learn From bmreiniger at yahoo.com Sat Sep 24 10:10:34 2022 From: bmreiniger at yahoo.com (bmreiniger) Date: Sat, 24 Sep 2022 09:10:34 -0500 Subject: [scikit-learn] methods available from last estimator in pipeline In-Reply-To: Message-ID: <1019406731.1393095.1664028651463@yahoo.com> Matt would still need to transform the data using the rest of the pipeline first. There are multiple naming options for pipeline steps, but in this case indexing is nice:```pipe[-1].kneighbors(? ? pipe[:-1].transform(X))```The user guide quote should probably be updated: not every?method carries over. In the source?(https://github.com/scikit-learn/scikit-learn/blob/36958fb240fbe435673a9e3c52e769f01f36bec0/sklearn/pipeline.py#L426) you can see what does, indicated by the `@available_if(_final_estimator_has(...))` decorator. These are the same as those listed in the docs page (https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline.decision_function). Anything else you need to call from the last step itself.Best,?Ben Reiniger -------- Original message --------From: Sole Galli via scikit-learn Date: 9/24/22 5:56 AM (GMT-06:00) To: Scikit-learn mailing list Cc: Sole Galli Subject: Re: [scikit-learn] methods available from last estimator in pipeline Did you try:pipeline.named_steps["the_string_name_for_knn"].kneighbours?pipeline should be replaced by the name you gave to your pipeline and the string in named_steps is the name you have to the knn when setting the pipe.SoleSent with Proton Mail secure email.------- Original Message -------On Friday, September 23rd, 2022 at 10:16 PM, Gregory, Matthew wrote:> Hi all,> > I have what is probably a silly question. I read this passage on [1]:> > """> The pipeline has all the methods that the last estimator in the pipeline has, i.e. if the last estimator is a classifier, the Pipeline can be used as a classifier. If the last estimator is a transformer, again, so is the pipeline.> """> > I'm trying to create a pipeline where my last estimator is a KNeighborsClassifier and, instead of predict(), I was hoping to use kneighbors(). But unfortunately, when in a pipeline, I'm getting this AttributeError:> > AttributeError: 'Pipeline' object has no attribute 'kneighbors'> > Is kneighbors() really available from the Pipeline? Or is there an alternative way to call an element in the Pipeline to use it? I tried "pipe[-1].kneighbors(X)", but that doesn't seem to be applying the earlier transforms in the pipeline.> > Thanks for any pointers,> matt> > [1] https://scikit-learn.org/stable/modules/compose.html> _______________________________________________> scikit-learn mailing list> scikit-learn at python.org> https://mail.python.org/mailman/listinfo/scikit-learn_______________________________________________scikit-learn mailing listscikit-learn at python.orghttps://mail.python.org/mailman/listinfo/scikit-learn -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.gregory at oregonstate.edu Mon Sep 26 12:59:32 2022 From: matt.gregory at oregonstate.edu (Gregory, Matthew) Date: Mon, 26 Sep 2022 16:59:32 +0000 Subject: [scikit-learn] methods available from last estimator in pipeline In-Reply-To: <1019406731.1393095.1664028651463@yahoo.com> References: <1019406731.1393095.1664028651463@yahoo.com> Message-ID: Ben and Sole, Thanks for your helpful suggestions and insight. Ben, I appreciate the additional details on what methods carry over and the nice shorthand on how to apply in case they don?t carry over. matt From: bmreiniger Sent: Saturday, September 24, 2022 7:11 AM To: Sole Galli via scikit-learn Cc: Sole Galli ; Gregory, Matthew Subject: Re: [scikit-learn] methods available from last estimator in pipeline [This email originated from outside of OSU. Use caution with links and attachments.] Matt would still need to transform the data using the rest of the pipeline first. There are multiple naming options for pipeline steps, but in this case indexing is nice: ``` pipe[-1].kneighbors( pipe[:-1].transform(X) ) ``` The user guide quote should probably be updated: not every method carries over. In the source (https://github.com/scikit-learn/scikit-learn/blob/36958fb240fbe435673a9e3c52e769f01f36bec0/sklearn/pipeline.py#L426) you can see what does, indicated by the `@available_if(_final_estimator_has(...))` decorator. These are the same as those listed in the docs page (https://scikit-learn.org/stable/modules/generated/sklearn.pipeline.Pipeline.html#sklearn.pipeline.Pipeline.decision_function). Anything else you need to call from the last step itself. Best, Ben Reiniger -------- Original message -------- From: Sole Galli via scikit-learn > Date: 9/24/22 5:56 AM (GMT-06:00) To: Scikit-learn mailing list > Cc: Sole Galli > Subject: Re: [scikit-learn] methods available from last estimator in pipeline Did you try: pipeline.named_steps["the_string_name_for_knn"].kneighbours ? pipeline should be replaced by the name you gave to your pipeline and the string in named_steps is the name you have to the knn when setting the pipe. Sole Sent with Proton Mail secure email. ------- Original Message ------- On Friday, September 23rd, 2022 at 10:16 PM, Gregory, Matthew > wrote: > Hi all, > > I have what is probably a silly question. I read this passage on [1]: > > """ > The pipeline has all the methods that the last estimator in the pipeline has, i.e. if the last estimator is a classifier, the Pipeline can be used as a classifier. If the last estimator is a transformer, again, so is the pipeline. > """ > > I'm trying to create a pipeline where my last estimator is a KNeighborsClassifier and, instead of predict(), I was hoping to use kneighbors(). But unfortunately, when in a pipeline, I'm getting this AttributeError: > > AttributeError: 'Pipeline' object has no attribute 'kneighbors' > > Is kneighbors() really available from the Pipeline? Or is there an alternative way to call an element in the Pipeline to use it? I tried "pipe[-1].kneighbors(X)", but that doesn't seem to be applying the earlier transforms in the pipeline. > > Thanks for any pointers, > matt > > [1] https://scikit-learn.org/stable/modules/compose.html > _______________________________________________ > scikit-learn mailing list > scikit-learn at python.org > https://mail.python.org/mailman/listinfo/scikit-learn _______________________________________________ scikit-learn mailing list scikit-learn at python.org https://mail.python.org/mailman/listinfo/scikit-learn -------------- next part -------------- An HTML attachment was scrubbed... URL: From marmochiaskl at gmail.com Thu Sep 29 04:23:27 2022 From: marmochiaskl at gmail.com (Chiara Marmo) Date: Wed, 28 Sep 2022 22:23:27 -1000 Subject: [scikit-learn] Scientific Python SPECs : CI Best Practices Message-ID: Dear list, This can be of interest for CI involved people. The SPEC in progress https://scientific-python.org/specs/spec-0005/ And the related discussion https://discuss.scientific-python.org/t/spec-5-ci-best-practices/507 All the best, Chiara -------------- next part -------------- An HTML attachment was scrubbed... URL: