Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele What is a Hierarchical Clustering? | Hierarchical Clustering
Cluster Analysis in Python

book
What is a Hierarchical Clustering?

In this section, we will consider the hierarchical clustering - one more clustering algorithm.

How does this algorithm work? We will consider the AGNES (Agglomerative Nesting clustering) algorithm. It can be called a bottom-up approach since, in the beginning, all the points are in separate clusters. Then, some clusters are joined based on linkages, until all the necessary number of clusters will be reached.

In Python, the Hierarchical clustering algorithm is implemented within the AgglomerativeClustering function from the sklearn.cluster library. Unlike in the two previous sections, to predict the labels there you need to use the .fit_predict method with data as a parameter. Let's rewrite the necessary actions step by step:

  1. Create an AgglomerativeClustering model object with a necessary number of clusters (n_clusters) and parameters set (will be considered in the next chapters).
  2. Fit the data and predict the labels using the .fit_predict() function passing data as the parameter.

Agglomerative Clustering has many parameters, among them are n_clusters (as in the previous sections), linkage, affinity, and so on... We will consider them in future chapters.

Tehtävä

Swipe to start coding

Given the 2-D dataset of points (training dataset). The scatter plot is shown below.

Plot

You need to perform a Hierarchical Clustering for this data. Follow the next steps:

  1. Import AgglomerativeClustering function from sklearn.cluster.
  2. Create AgglomerativeClustering object model with 3 clusters.
  3. Apply .fit_predict() method to model with data as a parameter. Add the result as 'prediction' column to data.
  4. Build a scatter plot of data with 'x' column on the x-axis, 'y' column on the y-axis, and each point colored with respect to the 'prediction' column.

Ratkaisu

# Import the librarires
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from sklearn.cluster import AgglomerativeClustering

# Read the data
data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/138ab9ad-aa37-4310-873f-0f62abafb038/model_data1.csv')

# Create the model
model = AgglomerativeClustering(n_clusters = 3)

# Fit the data and predict the labels
data['prediction'] = model.fit_predict(data)

# Visualize the result
sns.scatterplot(x = 'x', y = 'y', hue = 'prediction', data = data)
plt.show()

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 3. Luku 1
# Import the librarires
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from ___ import ___

# Read the data
data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/138ab9ad-aa37-4310-873f-0f62abafb038/model_data1.csv')

# Create the model
model = ___(n_clusters = ___)

# Fit the data and predict the labels
data['prediction'] = model.___(___)

# Visualize the result
sns.scatterplot(x = '___', y = '___', hue = '___', data = data)
plt.show()
toggle bottom row
some-alt