skfolio.cluster.LinkageMethod#

class skfolio.cluster.LinkageMethod(*values)[source]#

Methods for calculating the distance between clusters in the linkage matrix. See the Linkage Methods section of scipy.cluster.hierarchy.linkage for full descriptions.

Parameters:
SINGLEstr

Assigns

\[d(u,v) = \min(dist(u[i],v[j]))\]

for all points \(i\) in cluster \(u\) and \(j\) in cluster \(v\). This is also known as the Nearest Point Algorithm.

COMPLETEstr

Assigns

\[d(u, v) = \max(dist(u[i],v[j]))\]

for all points \(i\) in cluster u and \(j\) in cluster \(v\). This is also known as the Farthest Point Algorithm or Voor Hees Algorithm.

AVERAGEstr

Assigns

\[d(u,v) = \sum_{ij} \frac{d(u[i], v[j])}{(|u|*|v|)}\]

for all points \(i\) and \(j\) where \(|u|\) and \(|v|\) are the cardinalities of clusters \(u\) and \(v\), respectively. This is also called the UPGMA algorithm.

WEIGHTEDstr

Assigns

\[d(u,v) = (dist(s,v) + dist(t,v))/2\]

where cluster u was formed with cluster s and t and v is a remaining cluster in the forest (also called WPGMA).

CENTROIDstr

Assigns

\[dist(s,t) = ||c_s-c_t||_2\]

where \(c_s\) and \(c_t\) are the centroids of clusters \(s\) and \(t\), respectively. This is also known as the UPGMC algorithm.

MEDIANstr
assigns :math:`d(s,t)` like the `centroid` method.
This is also known as the WPGMC algorithm.
WARDstr

Uses the Ward variance minimization algorithm. The new entry \(d(u,v)\) is computed as follows,

\[d(u,v) = \sqrt{\frac{|v|+|s|} {T}d(v,s)^2 + \frac{|v|+|t|} {T}d(v,t)^2 - \frac{|v|} {T}d(s,t)^2}\]

where \(u\) is the newly joined cluster consisting of clusters \(s\) and \(t\), \(v\) is an unused cluster in the forest, \(T=|v|+|s|+|t|\), and \(|*|\) is the cardinality of its argument. This is also known as the incremental algorithm.

classmethod has(value)#

Check if a value is in the Enum.

Parameters:
valuestr

Input value.

Returns:
xbool

True if the value is in the Enum, False otherwise.