Source code for pyFTS.partitioners.Singleton
"""Even Length Grid Partitioner"""
import numpy as np
import math
import random as rnd
import functools, operator
from pyFTS.common import FuzzySet, Membership
from pyFTS.partitioners import partitioner
[docs]class SingletonPartitioner(partitioner.Partitioner):
"""Singleton Partitioner: Create singleton fuzzy sets for each distinct value in UoD"""
def __init__(self, **kwargs):
"""
Singleton Partitioner
"""
super(SingletonPartitioner, self).__init__(name="Singleton", **kwargs)
[docs] def build(self, data : list):
sets = {}
kwargs = {'type': self.type, 'variable': self.variable}
for count, instance in enumerate(set(data)):
_name = self.get_name(count)
sets[_name] = FuzzySet.FuzzySet(_name, Membership.singleton, [instance], instance, **kwargs)
return sets