pyFTS.partitioners package¶
Module contents¶
Module for pyFTS Universe of Discourse partitioners.
Submodules¶
pyFTS.partitioners.partitioner module¶
-
class
pyFTS.partitioners.partitioner.Partitioner(**kwargs)¶ Bases:
objectUniverse 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.PartitionerHuarng 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.PartitionerEven 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.PartitionerHuarng 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.PartitionerSingleton 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.PartitionerSimple 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.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)¶