From 8579444e1a7c62616b345e0317e2dba1549f3442 Mon Sep 17 00:00:00 2001 From: Tilak Raj Lunia Date: Mon, 12 Oct 2026 23:28:52 +0530 Subject: [PATCH 1/3] ty: un-ignore parameter-already-assigned rule (part of #15187) --- machine_learning/k_means_clust.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/machine_learning/k_means_clust.py b/machine_learning/k_means_clust.py index 19e510b966b6..36a534618bf5 100644 --- a/machine_learning/k_means_clust.py +++ b/machine_learning/k_means_clust.py @@ -53,7 +53,8 @@ import pandas as pd from matplotlib import pyplot as plt from sklearn.metrics import pairwise_distances - +if TYPE_CHECKING: + from mpl_toolkits.mplot3d.axes3d import Axes3D warnings.filterwarnings("ignore") TAG = "K-MEANS-CLUST/ " @@ -157,7 +158,7 @@ def plot_heterogeneity(heterogeneity, k) -> None: def plot_kmeans(data, centroids, cluster_assignment) -> None: - ax = plt.axes(projection="3d") + ax = cast("Axes3D", plt.axes(projection="3d")) ax.scatter(data[:, 0], data[:, 1], data[:, 2], c=cluster_assignment, cmap="viridis") ax.scatter( centroids[:, 0], centroids[:, 1], centroids[:, 2], c="red", s=100, marker="x" From 0e532f5cfa491ea4596f235a5a2a1056410c433b Mon Sep 17 00:00:00 2001 From: Tilak Raj Lunia Date: Tue, 13 Oct 2026 01:12:13 +0530 Subject: [PATCH 2/3] fix: pass 3D coordinate via zs keyword to avoid collision with s --- machine_learning/k_means_clust.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/machine_learning/k_means_clust.py b/machine_learning/k_means_clust.py index 36a534618bf5..42e88faee0d3 100644 --- a/machine_learning/k_means_clust.py +++ b/machine_learning/k_means_clust.py @@ -53,8 +53,7 @@ import pandas as pd from matplotlib import pyplot as plt from sklearn.metrics import pairwise_distances -if TYPE_CHECKING: - from mpl_toolkits.mplot3d.axes3d import Axes3D + warnings.filterwarnings("ignore") TAG = "K-MEANS-CLUST/ " @@ -158,10 +157,15 @@ def plot_heterogeneity(heterogeneity, k) -> None: def plot_kmeans(data, centroids, cluster_assignment) -> None: - ax = cast("Axes3D", plt.axes(projection="3d")) + ax = plt.axes(projection="3d") ax.scatter(data[:, 0], data[:, 1], data[:, 2], c=cluster_assignment, cmap="viridis") ax.scatter( - centroids[:, 0], centroids[:, 1], centroids[:, 2], c="red", s=100, marker="x" + centroids[:, 0], + centroids[:, 1], + zs=centroids[:, 2], + c="red", + s=100, + marker="x" ) ax.set_xlabel("X") ax.set_ylabel("Y") From ee1f2317ddab7472d49888bc901035b8db64b53f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 19:50:13 +0000 Subject: [PATCH 3/3] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- machine_learning/k_means_clust.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/machine_learning/k_means_clust.py b/machine_learning/k_means_clust.py index 42e88faee0d3..6dd3f9ef916a 100644 --- a/machine_learning/k_means_clust.py +++ b/machine_learning/k_means_clust.py @@ -160,12 +160,7 @@ def plot_kmeans(data, centroids, cluster_assignment) -> None: ax = plt.axes(projection="3d") ax.scatter(data[:, 0], data[:, 1], data[:, 2], c=cluster_assignment, cmap="viridis") ax.scatter( - centroids[:, 0], - centroids[:, 1], - zs=centroids[:, 2], - c="red", - s=100, - marker="x" + centroids[:, 0], centroids[:, 1], zs=centroids[:, 2], c="red", s=100, marker="x" ) ax.set_xlabel("X") ax.set_ylabel("Y")