`scikit-fuzzy`

is an fuzzy logic Python package that works with
`numpy`

arrays. The package is imported as `skfuzzy`

:

```
>>> import skfuzzy
```

though the recommended import statement uses an alias:

```
>>> import skfuzzy as fuzz
```

Most functions of `skfuzzy`

are brought into the base package namespace.
You can introspect the functions available in `fuzz`

when using IPython by:

```
[1] import skfuzzy as fuzz
[2] fuzz.
```

and pressing the **Tab** key.

A list of submodules and functions is found on the API reference webpage.

Within `scikit-fuzzy`

, universe variables and fuzzy membership functions are
represented by `numpy`

arrays. Generation of membership functions is
as simple as:

```
>>> import numpy as np
>>> import skfuzzy as fuzz
>>> x = np.arange(11)
>>> mfx = fuzz.trimf(x, [0, 5, 10])
>>> x
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
>>> mfx
array([ 0. , 0.2, 0.4, 0.6, 0.8, 1. , 0.8, 0.6, 0.4, 0.2, 0. ])
```

While most functions are available in the base namespace, the package is factored with a logical grouping of functions in submodules. If the base namespace appears overwhelming, we recommend exploring them individually. These include

`fuzz.membership`

- Fuzzy membership function generation
`fuzz.defuzzify`

- Defuzzification algorithms to return crisp results from fuzzy sets
`fuzz.fuzzymath`

- The core of
`scikit-fuzzy`

, containing the majority of the most common fuzzy logic operations. `fuzz.intervals`

- Interval mathematics. The restricted Dong, Shah, & Wong (DSW) methods for fuzzy set math live here.
`fuzz.image`

- Limited fuzzy logic image processing operations.
`fuzz.cluster`

- Fuzzy c-means clustering.
`fuzz.filters`

- Fuzzy Inference Ruled by Else-action (FIRE) filters in 1D and 2D.