pyFTS.partitioners package

Module contents

Module for pyFTS Universe of Discourse partitioners.

Submodules

pyFTS.partitioners.partitioner module

class pyFTS.partitioners.partitioner.Partitioner(**kwargs)

Bases: object

Universe of Discourse partitioner. Split data on several fuzzy sets

build(data)

Perform the partitioning of the Universe of Discourse

Parameters:data – training data
Returns:
build_index()
check_bounds(data)

Check if the input data is outside the known Universe of Discourse and, if it is, round it to the closest fuzzy set.

Parameters:data – input data to be verified
Returns:the index of the closest fuzzy set when data is outside de universe of discourse or None if

the data is inside the UoD.

defuzzyfy(values, mode='both')
extractor(x)

Extract a single primitive type from an structured instance

fuzzyfy(data, **kwargs)

Fuzzyfy the input data according to this partitioner fuzzy sets.

Parameters:
  • data – input value to be fuzzyfied
  • alpha_cut – the minimal membership value to be considered on fuzzyfication (only for mode=’sets’)
  • method – the fuzzyfication method (fuzzy: all fuzzy memberships, maximum: only the maximum membership)
  • mode – the fuzzyfication mode (sets: return the fuzzy sets names, vector: return a vector with the membership

values for all fuzzy sets, both: return a list with tuples (fuzzy set, membership value) )

:returns a list with the fuzzyfied values, depending on the mode

get_name(counter)

Find the name of the fuzzy set given its counter id.

Parameters:counter – The number of the fuzzy set
Returns:String
lower_set()

Return the fuzzy set on lower bound of the universe of discourse.

Returns:Fuzzy Set
plot(ax, rounding=0)

Plot the partitioning using the Matplotlib axis ax

Parameters:ax – Matplotlib axis
plot_set(ax, s)

Plot an isolate fuzzy set on Matplotlib axis

Parameters:
  • ax – Matplotlib axis
  • s – Fuzzy Set
search(data, **kwargs)

Perform a search for the nearest fuzzy sets of the point ‘data’. This function were designed to work with several overlapped fuzzy sets.

Parameters:
  • data – the value to search for the nearest fuzzy sets
  • type – the return type: ‘index’ for the fuzzy set indexes or ‘name’ for fuzzy set names.
  • results – the number of nearest fuzzy sets to return
Returns:

a list with the nearest fuzzy sets

upper_set()

Return the fuzzy set on upper bound of the universe of discourse.

Returns:Fuzzy Set

pyFTS.partitioners.CMeans module

class pyFTS.partitioners.CMeans.CMeansPartitioner(**kwargs)

Bases: pyFTS.partitioners.partitioner.Partitioner

build(data)

Perform the partitioning of the Universe of Discourse

Parameters:data – training data
Returns:
pyFTS.partitioners.CMeans.c_means(k, dados, tam)
pyFTS.partitioners.CMeans.distance(x, y)

pyFTS.partitioners.Entropy module

C. H. Cheng, R. J. Chang, and C. A. Yeh, “Entropy-based and trapezoidal fuzzification-based fuzzy time series approach for forecasting IT project cost,” Technol. Forecast. Social Change, vol. 73, no. 5, pp. 524–542, Jun. 2006.

class pyFTS.partitioners.Entropy.EntropyPartitioner(**kwargs)

Bases: pyFTS.partitioners.partitioner.Partitioner

Huarng Entropy Partitioner

build(data)

Perform the partitioning of the Universe of Discourse

Parameters:data – training data
Returns:
pyFTS.partitioners.Entropy.PMF(data, threshold)
pyFTS.partitioners.Entropy.bestSplit(data, npart)
pyFTS.partitioners.Entropy.entropy(data, threshold)
pyFTS.partitioners.Entropy.informationGain(data, thres1, thres2)
pyFTS.partitioners.Entropy.splitAbove(data, threshold)
pyFTS.partitioners.Entropy.splitBelow(data, threshold)

pyFTS.partitioners.FCM module

S. T. Li, Y. C. Cheng, and S. Y. Lin, “A FCM-based deterministic forecasting model for fuzzy time series,” Comput. Math. Appl., vol. 56, no. 12, pp. 3052–3063, Dec. 2008. DOI: 10.1016/j.camwa.2008.07.033.

class pyFTS.partitioners.FCM.FCMPartitioner(**kwargs)

Bases: pyFTS.partitioners.partitioner.Partitioner

build(data)

Perform the partitioning of the Universe of Discourse

Parameters:data – training data
Returns:
pyFTS.partitioners.FCM.fuzzy_cmeans(k, dados, tam, m, deltadist=0.001)
pyFTS.partitioners.FCM.fuzzy_distance(x, y)
pyFTS.partitioners.FCM.membership(val, vals)

pyFTS.partitioners.Grid module

Even Length Grid Partitioner

class pyFTS.partitioners.Grid.GridPartitioner(**kwargs)

Bases: pyFTS.partitioners.partitioner.Partitioner

Even Length Grid Partitioner

build(data)

Perform the partitioning of the Universe of Discourse

Parameters:data – training data
Returns:

pyFTS.partitioners.Huarng module

K. H. Huarng, “Effective lengths of intervals to improve forecasting in fuzzy time series,” Fuzzy Sets Syst., vol. 123, no. 3, pp. 387–394, Nov. 2001.

class pyFTS.partitioners.Huarng.HuarngPartitioner(**kwargs)

Bases: pyFTS.partitioners.partitioner.Partitioner

Huarng Empirical Partitioner

build(data)

Perform the partitioning of the Universe of Discourse

Parameters:data – training data
Returns:

pyFTS.partitioners.Singleton module

Even Length Grid Partitioner

class pyFTS.partitioners.Singleton.SingletonPartitioner(**kwargs)

Bases: pyFTS.partitioners.partitioner.Partitioner

Singleton Partitioner

build(data)

Perform the partitioning of the Universe of Discourse

Parameters:data – training data
Returns:

pyFTS.partitioners.Simple module

Simple Partitioner for manually informed fuzzy sets

class pyFTS.partitioners.Simple.SimplePartitioner(**kwargs)

Bases: pyFTS.partitioners.partitioner.Partitioner

Simple Partitioner for manually informed fuzzy sets

append(name, mf, parameters, **kwargs)

Append a new partition (fuzzy set) to the partitioner

Parameters:
  • name – Fuzzy set name
  • mf – One of the pyFTS.common.Membership functions
  • parameters – A list with the parameters for the membership function
  • kwargs – Optional arguments for the fuzzy set
append_complex(fs)

pyFTS.partitioners.SubClust module

pyFTS.partitioners.Util module

Facility methods for pyFTS partitioners module

pyFTS.partitioners.Util.explore_partitioners(data, npart, methods=None, mf=None, transformation=None, size=[12, 10], save=False, file=None)

Create partitioners for the mf membership functions and npart partitions and show the partitioning images. :data: Time series data :npart: Maximum number of partitions of the universe of discourse :methods: A list with the partitioning methods to be used :mf: A list with the membership functions to be used :transformation: a transformation to be used in partitioner :size: list, the size of the output image [width, height] :save: boolean, if the image will be saved on disk :file: string, the file path to save the image :return: the list of the built partitioners

pyFTS.partitioners.Util.plot_partitioners(data, objs, tam=[12, 10], save=False, file=None, axis=None)
pyFTS.partitioners.Util.plot_sets(data, sets, titles, size=[12, 10], save=False, file=None, axis=None)

pyFTS.partitioners.parallel_util module

pyFTS.partitioners.parallel_util.explore_partitioners(data, npart, methods=None, mf=None, tam=[12, 10], save=False, file=None)