Giter Site home page Giter Site logo

Comments (7)

JDWarner avatar JDWarner commented on June 28, 2024

Hi @pbreach, I believe the functionality you are asking for is under skfuzzy.lambda_cut. This function returns an array of the same shape as the input membership function containing binary yes/no answering if each value was greater than the floating point value lambdacut.

Extracting the bounds from that result just requires grabbing the first and last 1s.

Perhaps you found that already. If you think a function to more precisely determine the exact boundaries would be valuable, e.g. with interpolation, feel free to reopen this Issue or I could guide you through a PR. That is doable, I just wasn't sure how large the audience would be.

from scikit-fuzzy.

JDWarner avatar JDWarner commented on June 28, 2024

(I just couldn't leave well enough alone, so I whipped up a function to do this myself. Look for it tomorrow)

from scikit-fuzzy.

pbreach avatar pbreach commented on June 28, 2024

@JDWarner Thanks! I realized shortly after posting to use lambda cuts in the way you mentioned (still a bit new to the concept let alone the module), but I think it would be useful to have an alpha cut function that could do the interpolation.

Unfortunately I won't be able to work on a PR at this time, but I may need to use the module again in the coming months. If so then I look forward to contributing.

from scikit-fuzzy.

JDWarner avatar JDWarner commented on June 28, 2024

@pbreach can you explain what you mean by alpha-cuts? Is it a different process than what I've called lambda-cuts, or is the difference essentially just getting the boundaries?

I have a working local version which does calculate the exact boundaries, though the function name currently is lambda_cut_boundaries. Also found and fixed an edge case error in skfuzzy.lambda_cut - it was not working as expected for a cut value of 1.0. Both of these should be up tomorrow.

from scikit-fuzzy.

pbreach avatar pbreach commented on June 28, 2024

Yes it is essentially the boundaries of a lambda cut for a given alpha level (or cut value) on the interval of [0,1].

For example, in the case of a sigmoidal membership function, alpha cut values in the set of (0,1) will give only one value, while alpha cut values of 0 and 1 should give two values corresponding to the bounds where the membership function is 0 and 1 respectively.

from scikit-fuzzy.

pbreach avatar pbreach commented on June 28, 2024

After looking into this more it looks like alpha cuts and lambda cuts actually may be analogous... Alpha cut refers to the interval [a_alpha, b_alpha] for a particular alpha level or degree of membership.

I think the lambda_cut_boundaries function with a way to interpolate is exactly what I was referring to originally.

from scikit-fuzzy.

JDWarner avatar JDWarner commented on June 28, 2024

Closed by #50 (see discussion and implementation in that PR)

from scikit-fuzzy.

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.