# Approximating via step function

**URL:** <https://discourse.julialang.org/t/approximating-via-step-function/43577>\
**Category:** Numerics\
**Tags:** question, package, function\
**Created:** [July 23, 2020, 6:35pm UTC](https://discourse.julialang.org/t/approximating-via-step-function/43577 "2020-07-23T18:35:22Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![danicaratelli](https://avatars.discourse-cdn.com/v4/letter/d/90db22/32.png) [@danicaratelli](https://discourse.julialang.org/u/danicaratelli)\
**Post date:** [July 23, 2020, 6:35pm UTC](https://discourse.julialang.org/t/approximating-via-step-function/43577/1 "2020-07-23T18:35:22Z")

</div>

Hello,

I was wondering whether anyone knows of a package/function that approximates a function with a step function. As an example, below in blue is the data I am trying to approximate, in red is my wanted output (a step function).

![step_approx](https://global.discourse-cdn.com/julialang/original/3X/9/4/942ab98c83977fd4593227a12da952da9e84c2d6.png)

---

<div class="post-metadata">

**Author:** ![baggepinnen](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/baggepinnen/32/693_2.png) [@baggepinnen](https://discourse.julialang.org/u/baggepinnen)\
**Post date:** [July 23, 2020, 6:51pm UTC](https://discourse.julialang.org/t/approximating-via-step-function/43577/2 "2020-07-23T18:51:52Z")

</div>

[https://github.com/ajtulloch/Isotonic.jl](https://github.com/ajtulloch/Isotonic.jl)

---

<div class="post-metadata">

**Author:** ![Albert\_Zevelev](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/albert_zevelev/32/11844_2.png) [@Albert\_Zevelev](https://discourse.julialang.org/u/Albert_Zevelev)\
**Post date:** [August 30, 2020, 6:53am UTC](https://discourse.julialang.org/t/approximating-via-step-function/43577/3 "2020-08-30T06:53:10Z")

</div>

I think you want a simple regression tree. The number of “steps” is equal to the number of leaves… MLJ.jl gives access to various options.
