IFS

Distance measures

pyifdm.methods.ifs.distance.euclidean_distance(a, b)[source]

Calculates the distance between two Intuitionistic Fuzzy Sets (u, v) using Euclidean distance

Parameters:
  • a (ndarray) – Intuitionistic Fuzzy Sets (u, v)

  • b (ndarray) – Intuitionistic Fuzzy Sets (u, v)

Returns:

Crisp value representing distance

Return type:

float

pyifdm.methods.ifs.distance.grzegorzewski_distance(a, b)[source]

Calculates the distance between two Intuitionistic Fuzzy Sets (u, v) using Grzegorzewski distance

Parameters:
  • a (ndarray) – Intuitionistic Fuzzy Sets (u, v)

  • b (ndarray) – Intuitionistic Fuzzy Sets (u, v)

Returns:

Crisp value representing distance

Return type:

float

pyifdm.methods.ifs.distance.hamming_distance(a, b)[source]

Calculates the distance between two Intuitionistic Fuzzy Sets (u, v) using Hamming distance

Parameters:
  • a (ndarray) – Intuitionistic Fuzzy Sets (u, v)

  • b (ndarray) – Intuitionistic Fuzzy Sets (u, v)

Returns:

Crisp value representing distance

Return type:

float

pyifdm.methods.ifs.distance.hausdorf_euclidean_distance(a, b)[source]

Calculates the distance between two Intuitionistic Fuzzy Sets (u, v) using Hausdorf measure-based Euclidean distance

Parameters:
  • a (ndarray) – Intuitionistic Fuzzy Sets (u, v)

  • b (ndarray) – Intuitionistic Fuzzy Sets (u, v)

Returns:

Crisp value representing distance

Return type:

float

pyifdm.methods.ifs.distance.luo_distance(a, b)[source]

Calculates the distance between two Intuitionistic Fuzzy Sets (u, v) using Luo distance

Parameters:
  • a (ndarray) – Intuitionistic Fuzzy Sets (u, v)

  • b (ndarray) – Intuitionistic Fuzzy Sets (u, v)

Returns:

Crisp value representing distance

Return type:

float

pyifdm.methods.ifs.distance.normalized_euclidean_distance(a, b)[source]

Calculates the distance between two Intuitionistic Fuzzy Sets (u, v) using normalized Euclidean distance

Parameters:
  • a (ndarray) – Intuitionistic Fuzzy Sets (u, v)

  • b (ndarray) – Intuitionistic Fuzzy Sets (u, v)

Returns:

Crisp value representing distance

Return type:

float

pyifdm.methods.ifs.distance.normalized_hamming_distance(a, b)[source]

Calculates the distance between two Intuitionistic Fuzzy Sets (u, v) using normalized Hamming distance

Parameters:
  • a (ndarray) – Intuitionistic Fuzzy Sets (u, v)

  • b (ndarray) – Intuitionistic Fuzzy Sets (u, v)

Returns:

Crisp value representing distance

Return type:

float

pyifdm.methods.ifs.distance.wang_xin_distance_1(a, b)[source]

Calculates the distance between two Intuitionistic Fuzzy Sets (u, v) using Wang Xin distance 1

Parameters:
  • a (ndarray) – Intuitionistic Fuzzy Sets (u, v)

  • b (ndarray) – Intuitionistic Fuzzy Sets (u, v)

Returns:

Crisp value representing distance

Return type:

float

pyifdm.methods.ifs.distance.wang_xin_distance_2(a, b)[source]

Calculates the distance between two Intuitionistic Fuzzy Sets (u, v) using Wang Xin distance 2

Parameters:
  • a (ndarray) – Intuitionistic Fuzzy Sets (u, v)

  • b (ndarray) – Intuitionistic Fuzzy Sets (u, v)

Returns:

Crisp value representing distance

Return type:

float

pyifdm.methods.ifs.distance.yang_chiclana_distance(a, b)[source]

Calculates the distance between two Intuitionistic Fuzzy Sets (u, v) using Yang & Chiclana distance

Parameters:
  • a (ndarray) – Intuitionistic Fuzzy Sets (u, v)

  • b (ndarray) – Intuitionistic Fuzzy Sets (u, v)

Returns:

Crisp value representing distance

Return type:

float

Normalizations

pyifdm.methods.ifs.normalization.ecer_normalization(matrix, types)[source]

Calculates the normalized value of Intuitionistic Fuzzy matrix using Ecer normalization

Parameters:
  • matrix (ndarray) – Matrix with Intuitionistic Fuzzy Sets

  • types (ndarray) – Types of criteria, 1 profit, -1 cost

Returns:

Normalized Intuitionistic Fuzzy matrix

Return type:

ndarray

pyifdm.methods.ifs.normalization.max_normalization(matrix, types)[source]

Calculates the normalized value of Intuitionistic Fuzzy matrix using Max normalization

Parameters:
  • matrix (ndarray) – Matrix with Intuitionistic Fuzzy Sets

  • types (ndarray) – Types of criteria, 1 profit, -1 cost

Returns:

Normalized Intuitionistic Fuzzy matrix

Return type:

ndarray

pyifdm.methods.ifs.normalization.minmax_normalization(matrix, types)[source]

Calculates the normalized value of Intuitionistic Fuzzy matrix using Min-Max normalization

Parameters:
  • matrix (ndarray) – Matrix with Intuitionistic Fuzzy Sets

  • types (ndarray) – Types of criteria, 1 profit, -1 cost

Returns:

Normalized Intuitionistic Fuzzy matrix

Return type:

ndarray

pyifdm.methods.ifs.normalization.supriya_normalization(matrix, *args)[source]

Calculates the normalized value of Intuitionistic Fuzzy matrix using Supriya normalization

Parameters:
  • matrix (ndarray) – Matrix with Intuitionistic Fuzzy Sets

  • *args – Additional parameters

Returns:

Normalized Intuitionistic Fuzzy matrix

Return type:

ndarray

pyifdm.methods.ifs.normalization.swap_normalization(matrix, types)[source]

Calculates the normalized value of Intuitionistic Fuzzy matrix using Swap normalization

Parameters:
  • matrix (ndarray) – Matrix with Intuitionistic Fuzzy Sets

  • types (ndarray) – Types of criteria, 1 profit, -1 cost

Returns:

Normalized Intuitionistic Fuzzy matrix

Return type:

ndarray

Score functions

pyifdm.methods.ifs.score.chen_score_1(a)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula: (u - v)

Parameters:

a (ndarray) – Intuitionistic Fuzzy Set (u, v)

Returns:

Crisp value

Return type:

float

pyifdm.methods.ifs.score.chen_score_2(a, y=0.5)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula: (y * u + (1 - y) * (1 - v))

Parameters:
  • a (ndarray) – Intuitionistic Fuzzy Set (u, v)

  • y (float, default=0.5) – Adjusting parameter

Returns:

Crisp value

Return type:

float

pyifdm.methods.ifs.score.kharal_score_1(a)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula: (u - (v + (1 - u - v)) / 2)

Parameters:

a (ndarray) – Intuitionistic Fuzzy Set (u, v)

Returns:

Crisp value

Return type:

float

pyifdm.methods.ifs.score.kharal_score_2(a)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula: (u + v) / 2 - (1 - u - v)

Parameters:

a (ndarray) – Intuitionistic Fuzzy Set (u, v)

Returns:

Crisp value

Return type:

float

pyifdm.methods.ifs.score.liu_wang_score(a)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula: u + u * (1 - u - v)

Parameters:

a (ndarray) – Intuitionistic Fuzzy Set (u, v)

Returns:

Crisp value

Return type:

float

pyifdm.methods.ifs.score.supriya_score(a)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula: (u - v * (1 - u - v))

Parameters:

a (ndarray) – Intuitionistic Fuzzy Set (u, v)

Returns:

Crisp value

Return type:

float

pyifdm.methods.ifs.score.thakur_score(a)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula: (u**v - v**2)

Parameters:

a (ndarray) – Intuitionistic Fuzzy Set (u, v)

Returns:

Crisp value

Return type:

float

pyifdm.methods.ifs.score.wan_dong_score_1(a)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula: 1/2 * ((u - v) / 2 + 1)

Parameters:

a (ndarray) – Intuitionistic Fuzzy Set (u, v)

Returns:

Crisp value

Return type:

float

pyifdm.methods.ifs.score.wan_dong_score_2(a)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula: ((u - v) + 1) / 2

Parameters:

a (ndarray) – Intuitionistic Fuzzy Set (u, v)

Returns:

Crisp value

Return type:

float

pyifdm.methods.ifs.score.wei_score(a)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula (1 - u - v)

Parameters:

a (ndarray) – Intuitionistic Fuzzy Set (u, v)

Returns:

Crisp value

Return type:

float

pyifdm.methods.ifs.score.zhang_xu_score_1(a)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula: ((1 - v) / (2 - u - v))

Parameters:

a (ndarray) – Intuitionistic Fuzzy Set (u, v)

Returns:

Crisp value

Return type:

float

pyifdm.methods.ifs.score.zhang_xu_score_2(a)[source]

Calculates score of the Intuitionistic Fuzzy Set (u, v) and returns a crisp value. Uses a formula: (1 - (1 - u) / (1 - u - v))

Parameters:

a (ndarray) – Intuitionistic Fuzzy Set (u, v)

Returns:

Crisp value

Return type:

float