Giter Club home page Giter Club logo

Comments (3)

vtaquet avatar vtaquet commented on May 18, 2024

Hi @RudrakshTuwani , thanks for raising this issue ! I guess a simple solution to this problem would be to add an optional argument y in the predict method. If y is not None then y should be used as y_pred throughout predict. What do you think ?

By the way, sorry for not replying yet to your PR but we are currently really busy and we hope to find some to address your contributions within the next few weeks.

from mapie.

RudrakshTuwani avatar RudrakshTuwani commented on May 18, 2024

Hey @vtaquet , thanks for getting back and no worries! :)

I guess that could work for predict but I can't think of a clean solution for fit. Also, the primary motivations behind this is to have a model API agnostic conformal method that can be easily extended to incorporate cutting edge conformal methods.

from mapie.

vincentblot28 avatar vincentblot28 commented on May 18, 2024

Hi @RudrakshTuwani,
This implementation needs quite a huge refactoring to our code. As a simple solution, you could use this wrapper :

class FakeModel:
    
    def __init__(self):
        self.pred_proba = None
        self.trained_ = True
        self.classes_ = np.array([0, 1])


    def fit(self, X, y):
        pass

    def predict_proba(self, X):
        
        return X
    
    def get_params(self, deep=True):
        return {}

    def predict(self, X):
       
        pred_proba = self.predict_proba(X)
        return np.argmax(pred_proba, axis=1)

    def __sklearn_is_fitted__(self):
        return True

where the input X is in fact your predictions that you computed earlier. Doing so, there is no need to call the "real" predictmethod of your model.

We will look for a cleaner solution in the long term. I close the issue for now (Closed as not planned), we will re-open it when integrating this change to our roadmap

from mapie.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.