Utils package
Defuzzifications module
- pyfdm.methods.utils.defuzzifications.bisector_defuzzification(a)[source]
Defuzzify the Triangular Fuzzy Number into crisp value. Uses a formula (l+m) / 2
- Parameters:
a (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value
- Return type:
float
- pyfdm.methods.utils.defuzzifications.graded_mean_average_defuzzification(a)[source]
Defuzzify the Triangular Fuzzy Number into crisp value. Uses a formula 1/6 * (l + 4m + r)
- Parameters:
a (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value
- Return type:
float
- pyfdm.methods.utils.defuzzifications.height_defuzzification(a)[source]
Defuzzify the Triangular Fuzzy Number into crisp value. Returns the middle element of Triangular Fuzzy Number as result
- Parameters:
a (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value
- Return type:
float
- pyfdm.methods.utils.defuzzifications.lom_defuzzification(a)[source]
Defuzzify the Triangular Fuzzy Number into crisp value. Largest of Maximum (LOM) defuzzification method. Returns the maximum value of Triangular Fuzzy Number
- Parameters:
a (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value
- Return type:
float
- pyfdm.methods.utils.defuzzifications.mean_area_defuzzification(a)[source]
Defuzzify the Triangular Fuzzy Number into crisp value. Uses a formula 1/4 * (l + 2m + r)
- Parameters:
a (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value
- Return type:
float
- pyfdm.methods.utils.defuzzifications.mean_defuzzification(a)[source]
Defuzzify the Triangular Fuzzy Number into crisp value. Uses a formula 1/3 * (l + m + r)
- Parameters:
a (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value
- Return type:
float
- pyfdm.methods.utils.defuzzifications.som_defuzzification(a)[source]
Defuzzify the Triangular Fuzzy Number into crisp value. Smallest of Maximum (SOM) defuzzification method. Returns the minimum value of Triangular Fuzzy Number
- Parameters:
a (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value
- Return type:
float
- pyfdm.methods.utils.defuzzifications.weighted_mean_defuzzification(a, k=2)[source]
Defuzzify the Triangular Fuzzy Number into crisp value. Uses a formula (m + (r - m) - (m - l)) / (k + 2)
- Parameters:
a (ndarray) – Triangular Fuzzy Number
k (int) – weight factor
- Returns:
Crisp value
- Return type:
float
Distances module
- pyfdm.methods.utils.distances.canberra_distance(a, b)[source]
Calculates the Canberra distance between two Triangular Fuzzy Numbers.
- Parameters:
a (ndarray) – Triangular Fuzzy Number
b (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value representing distance
- Return type:
float
- pyfdm.methods.utils.distances.chebyshev_distance(a, b)[source]
Calculates the Chebyshev distance between two Triangular Fuzzy Numbers.
- Parameters:
a (ndarray) – Triangular Fuzzy Number
b (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value representing distance
- Return type:
float
- pyfdm.methods.utils.distances.euclidean_distance(a, b)[source]
Calculates the distance between two Triangular Fuzzy Numbers using Euclidean distance
- Parameters:
a (ndarray) – Triangular Fuzzy Number
b (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value representing distance
- Return type:
float
- pyfdm.methods.utils.distances.hamming_distance(a, b)[source]
Calculates the distance between two Triangular Fuzzy Numbers using Hamming distance
- Parameters:
a (ndarray) – Triangular Fuzzy Number
b (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value representing distance
- Return type:
float
- pyfdm.methods.utils.distances.lr_distance(a, b, r=0.5)[source]
Calculates the distance between two Triangular Fuzzy Numbers using L-R distance
- Parameters:
a (ndarray) – Triangular Fuzzy Number
b (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value representing distance
- Return type:
float
- pyfdm.methods.utils.distances.mahdavi_distance(a, b)[source]
Calculates the distance between two Triangular Fuzzy Numbers using Mahdavi distance
- Parameters:
a (ndarray) – Triangular Fuzzy Number
b (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value representing distance
- Return type:
float
- pyfdm.methods.utils.distances.tran_duckstein_distance(a, b)[source]
Calculates the distance between two Triangular Fuzzy Numbers using Tran Duckstein distance
- Parameters:
a (ndarray) – Triangular Fuzzy Number
b (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value representing distance
- Return type:
float
- pyfdm.methods.utils.distances.vertex_distance(a, b)[source]
Calculates the distance between two Triangular Fuzzy Numbers using Vertex distance
- Parameters:
a (ndarray) – Triangular Fuzzy Number
b (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value representing distance
- Return type:
float
- pyfdm.methods.utils.distances.weighted_euclidean_distance(a, b)[source]
Calculates the distance between two Triangular Fuzzy Numbers using weighted Euclidean distance
- Parameters:
a (ndarray) – Triangular Fuzzy Number
b (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value representing distance
- Return type:
float
- pyfdm.methods.utils.distances.weighted_hamming_distance(a, b)[source]
Calculates the distance between two Triangular Fuzzy Numbers using weighted Hamming distance
- Parameters:
a (ndarray) – Triangular Fuzzy Number
b (ndarray) – Triangular Fuzzy Number
- Returns:
Crisp value representing distance
- Return type:
float
Normalizations module
- pyfdm.methods.utils.normalizations.cocoso_normalization(matrix, types)[source]
Calculates the normalized value of Triangular Fuzzy matrix using COCOSO normalization
- Parameters:
matrix (ndarray) – Matrix with Triangular Fuzzy Numbers
types (ndarray) – Types of criteria, 1 profit, -1 cost
- Returns:
Normalized Triangular Fuzzy matrix
- Return type:
ndarray
- pyfdm.methods.utils.normalizations.linear_normalization(matrix, types)[source]
Calculates the normalized value of Triangular Fuzzy matrix using linear normalization
- Parameters:
matrix (ndarray) – Matrix with Triangular Fuzzy Numbers
types (ndarray) – Types of criteria, 1 profit, -1 cost
- Returns:
Normalized Triangular Fuzzy matrix
- Return type:
ndarray
- pyfdm.methods.utils.normalizations.max_normalization(matrix, types)[source]
Calculates the normalized value of Triangular Fuzzy matrix using max normalization
- Parameters:
matrix (ndarray) – Matrix with Triangular Fuzzy Numbers
types (ndarray) – Types of criteria, 1 profit, -1 cost
- Returns:
Normalized Triangular Fuzzy matrix
- Return type:
ndarray
- pyfdm.methods.utils.normalizations.minmax_normalization(matrix, types)[source]
Calculates the normalized value of Triangular Fuzzy matrix using Min-Max normalization
- Parameters:
matrix (ndarray) – Matrix with Triangular Fuzzy Numbers
types (ndarray) – Types of criteria, 1 profit, -1 cost
- Returns:
Normalized Triangular Fuzzy matrix
- Return type:
ndarray
- pyfdm.methods.utils.normalizations.saw_normalization(matrix, *args)[source]
Calculates the normalized value of Triangular Fuzzy matrix using simple addictive weight normalization
- Parameters:
matrix (ndarray) – Matrix with Triangular Fuzzy Numbers
data (*args is necessary for methods which reqiure some additional) –
- Returns:
Normalized Triangular Fuzzy matrix
- Return type:
ndarray
- pyfdm.methods.utils.normalizations.sqrt_normalization(matrix, *args)[source]
Calculates the normalized value of Triangular Fuzzy matrix using sqrt normalization
- Parameters:
matrix (ndarray) – Matrix with Triangular Fuzzy Numbers
data (*args is necessary for methods which reqiure some additional) –
- Returns:
Normalized Triangular Fuzzy matrix
- Return type:
ndarray
- pyfdm.methods.utils.normalizations.sum_normalization(matrix, types)[source]
Calculates the normalized value of Triangular Fuzzy matrix using sum normalization
- Parameters:
matrix (ndarray) – Matrix with Triangular Fuzzy Numbers
types (ndarray) – Types of criteria, 1 profit, -1 cost
- Returns:
Normalized Triangular Fuzzy matrix
- Return type:
ndarray
- pyfdm.methods.utils.normalizations.vector_normalization(matrix, *args)[source]
Calculates the normalized value of Triangular Fuzzy matrix using vector normalization
- Parameters:
matrix (ndarray) – Matrix with Triangular Fuzzy Numbers
data (*args is necessary for methods which reqiure some additional) –
- Returns:
Normalized Triangular Fuzzy matrix
- Return type:
ndarray
- pyfdm.methods.utils.normalizations.waspas_normalization(matrix, types)[source]
Calculates the normalized value of Triangular Fuzzy matrix using WASPAS normalization
- Parameters:
matrix (ndarray) – Matrix with Triangular Fuzzy Numbers
types (ndarray) – Types of criteria, 1 profit, -1 cost
- Returns:
Normalized Triangular Fuzzy matrix
- Return type:
ndarray