<a id="skfolio-cluster-linkagemethod"></a>

# skfolio.cluster.LinkageMethod

<a id="skfolio.cluster.LinkageMethod"></a>

### *class* skfolio.cluster.LinkageMethod(\*values)

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:**
  **SINGLE** *str*
  : Assigns
    $$
    d(u,v) = \min(dist(u[i],v[j]))
    <br/>
    $$
    <br/>
    for all points $i$ in cluster $u$ and
    $j$ in cluster $v$. This is also known as the
    Nearest Point Algorithm.

  **COMPLETE** *str*
  : Assigns
    $$
    d(u, v) = \max(dist(u[i],v[j]))
    <br/>
    $$
    <br/>
    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.

  **AVERAGE** *str*
  : Assigns
    $$
    d(u,v) = \sum_{ij} \frac{d(u[i], v[j])}{(|u|*|v|)}
    <br/>
    $$
    <br/>
    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.

  **WEIGHTED** *str*
  : Assigns
    $$
    d(u,v) = (dist(s,v) + dist(t,v))/2
    <br/>
    $$
    <br/>
    where cluster u was formed with cluster s and t and v
    is a remaining cluster in the forest (also called WPGMA).

  **CENTROID** *str*
  : Assigns
    $$
    dist(s,t) = ||c_s-c_t||_2
    <br/>
    $$
    <br/>
    where $c_s$ and $c_t$ are the centroids of
    clusters $s$ and $t$, respectively.
    This is also known as the UPGMC
    algorithm.

  **MEDIAN** *str*

  **assigns :math:\`d(s,t)\` like the \`centroid\` method.**

  **This is also known as the WPGMC algorithm.**

  **WARD** *str*
  : 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}
    $$
    <br/>
    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.

<a id="skfolio.cluster.LinkageMethod.has"></a>

#### *classmethod* has(value)

Check if a value is in the Enum.

* **Parameters:**
  **value** *str*
  : Input value.
* **Returns:**
  **x** *bool*
  : True if the value is in the Enum, False otherwise.

