Measures

Distance Measures

atanassov(A: sets.FuzzySet, B: sets.FuzzySet, distance_type: str = 'Hamming') numpy.float64[source]

Distance proposed by K.T. Atanassov, from the related article: “Intuitionistic fuzzy sets”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

distance_type: str, optional

Type of computed distance:

>>> DISTANCE_HAMMING,
>>> DISTANCE_EUCLIDEAN
>>> DISTANCE_NORMALIZED_HAMMING
>>> DISTANCE_NORMALIZED_EUCLIDEAN
Returns
numpy.float64

The distance between the two sets provided.

grzegorzewski(A: sets.FuzzySet, B: sets.FuzzySet, distance_type: str = 'Hamming') numpy.float64[source]

Distances proposed by P. Grzegorzewski from the related article: “Distances between intuitionistic fuzzy sets and/or interval-valued fuzzy sets based on the Hausdorff metric”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

distance_type: str, optional

Type of computed distance: >>> DISTANCE_HAMMING >>> DISTANCE_EUCLIDEAN >>> DISTANCE_NORMALIZED_HAMMING** or >>> DISTANCE_NORMALIZED_EUCLIDEAN**.

Returns
numpy.float64

The distance between the two sets provided.

szmidt_kacprzyk(A: sets.IntuitionisticFuzzySet, B: sets.IntuitionisticFuzzySet, distance_type: str = 'Hamming') numpy.float64[source]

Distances proposed by E. Szmidt and A. Kacprzyk, from the related article: “Distances between intuitionistic fuzzy sets”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

distance_type: str, optional

Type of computed distance:

>>> DISTANCE_HAMMING
>>> DISTANCE_EUCLIDEAN
>>> DISTANCE_NORMALIZED_HAMMING
>>> DISTANCE_NORMALIZED_EUCLIDEAN
Returns
numpy.float64

The distance between the two sets provided.

vlachos_sergiadis(A: sets.FuzzySet, B: sets.FuzzySet) numpy.float64[source]

Distance proposed by I.K. Vlachos, G.D. Sergiadis from the related article: “Intuitionistic fuzzy information - Applications to pattern recognition”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

Returns
numpy.float64

The distance between the two sets provided.

wang_xin(A: sets.FuzzySet, B: sets.FuzzySet, distance_type: int = 1, weights: Optional[Iterable] = None, p: int = 1) numpy.float64[source]
Distances proposed by W. Wang and X. Xin, from the related article:

“Distance measure between intuitionistic fuzzy sets”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set. distance_type: int, optional Type of computed distance:

>>> WANGXIN_DISTANCE_1
>>> WANGXIN_DISTANCE_2
weightslist of floats

List of weights for each membership/non-membership value.

pint

Positive integer >= 1.

Returns
numpy.float64

The distance between the two sets provided.

yang_chiclana(A: sets.IntuitionisticFuzzySet, B: sets.IntuitionisticFuzzySet, distance_type: str = 'Hamming') numpy.float64[source]

Distances proposed by Y. Yang and F. Chiclana, from the related article: “Consistency of 2D and 3D distances of intuitionistic fuzzy sets”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

distance_type: str, optional

Type of computed distance:

>>> DISTANCE_HAMMING
>>> DISTANCE_EUCLIDEAN
>>> DISTANCE_NORMALIZED_HAMMING or 
>>> DISTANCE_NORMALIZED_EUCLIDEAN
Returns
numpy.float64

The distance between the two sets provided.

Miscellaneous Measures

fuzzy_divergence(A: sets.FuzzySet, B: sets.FuzzySet)[source]

Fuzzy Divergence proposed by J. Fan, W. Xie, from the related article: “Distance measure and induced fuzzy entropy”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

Returns
numpy.float64

The similarity between the two sets provided.

fuzzy_index(A: sets.FuzzySet, coeff: int)[source]

Fuzzy Index T. Chaira, A.R. Ray, from the related article: “Threshold selection using fuzzy set theory”

Parameters
AFuzzySet

A fuzzy set.

coeff: int

Coefficient of the index.

Returns
numpy.float64

The similarity between the two sets provided.

Similarity Measures

chen_1(A: sets.FuzzySet, B: sets.FuzzySet, weights: Optional[Iterable] = None)[source]

Similarity proposed by S.M. Chen, from the related article: “Measures of similarity between vague sets”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

weightslist of floats

List of weights for each membership/non-membership value.

Returns
numpy.float64

The similarity between the two sets provided.

chen_2(A: sets.FuzzySet, B: sets.FuzzySet, weights: Optional[Iterable] = None, a: int = 1, b: int = 0, c: int = 0) float[source]
Similarity proposed by S.M. Chen, from the related article:

“Similarity measure between vague sets and between elements”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

weightslist of floats

List of weights for each membership/non-membership value.

a, b, c: int

Must satisfy the condition: a >= c >= 0 >= b.

Returns
numpy.float64

The similarity between the two sets provided.

chen_cheng_lan(A: sets.IntuitionisticFuzzySet, B: sets.IntuitionisticFuzzySet, weights=None)[source]

Similarity proposed by S.M. Chen, S.H. Cheng, T.-C. Lan, from the related article: “A novel similarity measure between intuitionistic fuzzy sets based on the centroid points of transformed fuzzy numbers with applications to pattern recognition”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

weightslist of floats

List of weights for each membership/non-membership value.

Returns
numpy.float64

The similarity between the two sets provided.

deng_jiang_fu(A: sets.FuzzySet, B: sets.FuzzySet, similarity_type: int = 1, p: Optional[int] = None, u: Optional[float] = None, v: Optional[float] = None)[source]

Similarity proposed by G. Deng, Y. Jiang, J. Fu, from the related article: “Monotonic similarity measures between intuitionistic fuzzy sets and their relationship with entropy and inclusion measure”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

similarity_typeint, optional

Type of computed similarity:

>>> DENG_JIANG_FU_MONOTONIC_TYPE_1_1
>>> DENG_JIANG_FU_MONOTONIC_TYPE_1_2
>>> DENG_JIANG_FU_MONOTONIC_TYPE_1_3
>>> DENG_JIANG_FU_MONOTONIC_TYPE_1_4
>>> DENG_JIANG_FU_MONOTONIC_TYPE_2_1
>>> DENG_JIANG_FU_MONOTONIC_TYPE_2_2
>>> DENG_JIANG_FU_MONOTONIC_TYPE_2_3
>>> DENG_JIANG_FU_MONOTONIC_TYPE_2_4
>>> DENG_JIANG_FU_MONOTONIC_TYPE_3_1
>>> DENG_JIANG_FU_MONOTONIC_TYPE_3_2
>>> DENG_JIANG_FU_MONOTONIC_TYPE_3_3
p: float

must be >= 1. Used in all types except

>>> DENG_JIANG_FU_MONOTONIC_TYPE_1_3 DENG_JIANG_FU_MONOTONIC_TYPE_2_3 DENG_JIANG_FU_MONOTONIC_TYPE_3_1 DENG_JIANG_FU_MONOTONIC_TYPE_3_2 DENG_JIANG_FU_MONOTONIC_TYPE_3_3
u: float

Must be positive. Used only in

>>> DENG_JIANG_FU_MONOTONIC_TYPE_3_2
v: float

Must be positive. Used only in

>>> DENG_JIANG_FU_MONOTONIC_TYPE_3_2
Returns
numpy.float64

The similarity between the two sets provided.

dengfeng_chuntian(A: sets.FuzzySet, B: sets.FuzzySet, p: int = 1, weights: Optional[Iterable] = None)[source]

Similarity proposed by L. Dengfeng and C. Chuntian, from the related article: “New similarity measures of intuitionistic fuzzy sets and application to pattern recognition”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

pint

Positive integer >= 1.

weightslist of floats

List of weights for each membership/non-membership value.

Returns
numpy.float64

The similarity between the two sets provided.

hong_kim(A: sets.FuzzySet, B: sets.FuzzySet, weights: Optional[Iterable] = None, a: int = 1, b: int = 0, c: int = 0)[source]

Similarity proposed by D.H. Hong and C.Kim, from the related article: “A note on similarity measures between vague sets and between elements”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

weightslist of floats

List of weights for each membership/non-membership value.

a, b, c: int

Must satisfy the condition: a >= c >= 0 >= b.

Returns
numpy.float64

The similarity between the two sets provided.

hung_yang_1(A: sets.FuzzySet, B: sets.FuzzySet, similarity_type: str = 'l', weights: Optional[Iterable] = None)[source]

Similarity proposed by W.L. Hung and M.S. Yang, from the related article: “Similarity measures of intuitionistic fuzzy sets based on Hausdorff similarity”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

similarity_type: str, optional

Type of computed similarity:

>>> HUNG_YANG_1_SIMILARITY_1
>>> HUNG_YANG_1_SIMILARITY_2
>>> HUNG_YANG_1_SIMILARITY_3
weights: List of weights for each membership/non-membership value.
Returns
numpy.float64

The similarity between the two sets provided.

hung_yang_2(A: sets.IntuitionisticFuzzySet, B: sets.IntuitionisticFuzzySet, similarity_type: str = 'l', a: int = 1)[source]

Similarity proposed by W.L. Hung and M.S. Yang, from the related article: “On the J-divergence of intuitionistic fuzzy sets with its applications to pattern recognition”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

similarity_typestr, optional

Type of computed similarity:

>>> HUNG_YANG_2_SIMILARITY_1
>>> HUNG_YANG_2_SIMILARITY_2
>>> HUNG_YANG_2_SIMILARITY_3
a: case of divergence measure. Positive integer >= 1.
Returns
numpy.float64

The similarity between the two sets provided.

Raises:

ValueError if a is < 1.

hung_yang_3(A: sets.FuzzySet, B: sets.FuzzySet, similarity_type: str = 'w1')[source]

Similarity proposed by W.L. Hung and M.S. Yang, from the related article: “On similarity measures between intuitionistic fuzzy sets”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

similarity_typestr, optional

Type of computed similarity:

>>> HUNG_YANG_3_SIMILARITY_1
>>> HUNG_YANG_3_SIMILARITY_2
>>> HUNG_YANG_3_SIMILARITY_3
>>> HUNG_YANG_3_SIMILARITY_4
>>> HUNG_YANG_3_SIMILARITY_5
>>> HUNG_YANG_3_SIMILARITY_6
>>> HUNG_YANG_3_SIMILARITY_7
Returns
The similarity between the two sets provided.
hung_yang_4(A: sets.FuzzySet, B: sets.FuzzySet, similarity_type: str = 'l', p: int = 1)[source]

Similarity proposed by W.L. Hung and M.S. Yang, from the related article: “Similarity measures of intuitionistic fuzzy sets based on Lp metric”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

similarity_typestr, optional

Type of computed similarity:

>>> HUNG_YANG_4_SIMILARITY_1
>>> HUNG_YANG_4_SIMILARITY_2 
>>> HUNG_YANG_4_SIMILARITY_3
pint

Positive integer >= 1.

Returns
numpy.float64

The similarity between the two sets provided.

hwang_yang(A: sets.FuzzySet, B: sets.FuzzySet)[source]

Similarity proposed by C.M. Hwang and M.S. Yang, from the related article: “Modified cosine similarity measure between intuitionistic fuzzy sets”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

Returns
numpy.float64

The similarity between the two sets provided.

iancu(A: sets.FuzzySet, B: sets.FuzzySet, similarity_type: int = 1, lamda: int = 1)[source]

Similarities proposed by I. Iancu, from the related article: “Intuitionistic fuzzy similarity measures based on Frank t-norms family”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

similarity_typeint, optional

Type of computed similarity:

>>> IANCU_SIMILARITY_1 IANCU_SIMILARITY_2 ..., IANCU_SIMILARITY_20
lambda: float

Frank family of t-operator parameter. Different cases of input: 0, 1, Inf and other. Used in all similarity_type cases except

>>> IANCU_SIMILARITY_1, IANCU_SIMILARITY_2,  IANCU_SIMILARITY_3 
>>> IANCU_SIMILARITY_4, IANCU_SIMILARITY_18
Returns
numpy.float64

The similarity between the two sets provided.

intarapaiboon(A: sets.FuzzySet, B: sets.FuzzySet)[source]

Similarity proposed by P. Intarapaiboon, from the related article: “A hierarchy-based similarity measure for intuitionistic fuzzy sets”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

Returns
numpy.float64

The similarity between the two sets provided.

julian_hung_lin(A: sets.FuzzySet, B: sets.FuzzySet, p: int = 1, weights: Optional[Iterable] = None)[source]

Similarity proposed by P. Julian, K.C. Hung and S.J. Lin, from the related article: “On the Mitchell similarity measure and its application to pattern recognition”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

pint

Positive integer >= 1.

weightslist of floats

List of weights for each membership/non-membership value.

Returns
numpy.float64

The similarity between the two sets provided.

liang_shi(A: sets.FuzzySet, B: sets.FuzzySet, similarity_type: str = 'e', p: int = 1, weights: Optional[Iterable] = None, omegas: Iterable = [0.5, 0.3, 0.2])[source]

Similarity proposed by Z. Liang and P. Shi, from the related article: “Similarity measures on intuitionistic fuzzy sets””

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

similarity_typestr, optional

Type of computed similarity:

>>> LIANG_SHI_SIMILARITY_1
>>> LIANG_SHI_SIMILARITY_2
>>> LIANG_SHI_SIMILARITY_3
pint

Positive integer >= 1.

weightslist of floats

List of weights for each membership/non-membership value.

omegas: Iterable

An iterable with 3 elements, with their sum equal to 1.

Returns
numpy.float64

The similarity between the two sets provided.

liu(A: sets.IntuitionisticFuzzySet, B: sets.IntuitionisticFuzzySet, p: int = 1, weights: Optional[Iterable] = None, a: float = 0.4, b: float = 0.3, c: float = 0.3)[source]

Similarity proposed by H.W. Liu, from the related article: “New similarity measures between intuitionistic fuzzy sets and between elements”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

pint

Positive integer >= 1.

weightslist of floats

List of weights for each membership/non-membership value.

a, b, c: float

Sum of those parameters must be equal to 1.

Returns
numpy.float64

The similarity between the two sets provided.

mitchell(A: sets.FuzzySet, B: sets.FuzzySet, p: int = 1, weights: Optional[Iterable] = None)[source]

Similarity proposed by H.B. Mitchell, from the related article: “On the Dengfeng-Chuntian similarity measure and its application to pattern recognition”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

pint

Positive integer >= 1.

weightslist of floats

List of weights for each membership/non-membership value.

Returns
numpy.float64

The similarity between the two sets provided.

muthukumar_krishnanb(A: sets.FuzzySet, B: sets.FuzzySet, weights=None)[source]

Similarity proposed by P. Muthukumar, G. S. S. Krishnan, from the related article: “A similarity measure of intuitionistic fuzzy soft sets and itsapplication in medical diagnosis”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

weightslist of floats

List of weights for each membership/non-membership value.

Returns
numpy.float64

The similarity between the two sets provided.

nguyen(A: sets.IntuitionisticFuzzySet, B: sets.IntuitionisticFuzzySet)[source]

Similarity proposed by H. Nguyen, from the related article: “A novel similarity/dissimilarity measure for intuitionistic fuzzy sets and its application in pattern recognition”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

Returns
numpy.float64

The similarity between the two sets provided.

park_kwun_lim(A: sets.IntuitionisticFuzzySet, B: sets.IntuitionisticFuzzySet, p: int = 1, weights: Optional[Iterable] = None)[source]

Similarity proposed by A.H. Park, A.S. Park, Y.C. Kwun and K.M. Lim, from the related article: “New Similarity Measures on Intuitionistic Fuzzy Sets”.

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

pint

Positive integer >= 1.

weightslist of floats

List of weights for each membership/non-membership value.

Returns
numpy.float64
The similarity between the two sets provided.
song_wang_lei_xue(A: sets.IntuitionisticFuzzySet, B: sets.IntuitionisticFuzzySet, weights: Optional[Iterable] = None)[source]

Similarity proposed by Y. Song, X. Wang, L. Lei, A. Xue, from the related article: “A novel similarity measure on intuitionistic fuzzy sets with its applications”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

weightslist of floats

List of weights for each membership/non-membership value.

Returns
numpy.float64

The similarity between the two sets provided.

ye(A: sets.FuzzySet, B: sets.FuzzySet, weights: Optional[Iterable] = None)[source]

Similarity proposed by J. Ye, from the related article: “Cosine similarity measures for intuitionistic fuzzy sets and their applications”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

weightslist of floats

List of weights for each membership/non-membership value.

Returns
numpy.float64

The similarity between the two sets provided.

zhang_fu(A: sets.FuzzySet, B: sets.FuzzySet)[source]

Similarity proposed by C. Zhang and H. Fu, from the related article: “Similarity measures on three kinds of fuzzy sets”

Parameters
AFuzzySet

A fuzzy set.

BFuzzySet

A fuzzy set.

Returns
numpy.float64

The similarity between the two sets provided.