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