From d47ad9c215d7ebe358e5ad47e3280c0b567dc02a Mon Sep 17 00:00:00 2001 From: Raisa Jose <168289547+raisaaajose@users.noreply.github.com> Date: Thu, 31 Jul 2025 05:18:39 +0530 Subject: [PATCH 1/2] fix: added doctest for k-means-clustering added two doctests and defined parameters --- .../k_means_clustering_tensorflow.py | 33 ++++++++++++++++--- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/dynamic_programming/k_means_clustering_tensorflow.py b/dynamic_programming/k_means_clustering_tensorflow.py index 8d3f6f0dfbcb..5e0f3f503136 100644 --- a/dynamic_programming/k_means_clustering_tensorflow.py +++ b/dynamic_programming/k_means_clustering_tensorflow.py @@ -6,15 +6,38 @@ def tf_k_means_cluster(vectors, noofclusters): """ - K-Means Clustering using TensorFlow. - 'vectors' should be a n*k 2-D NumPy array, where n is the number - of vectors of dimensionality k. - 'noofclusters' should be an integer. + K-Means Clustering using TensorFlow 1.x. + + Parameters: + vectors (numpy.ndarray): A n*k 2-D NumPy array of dtype float32, + where n is the number of vectors and k is their dimensionality. + noofclusters (int): An integer representing the number of clusters (k). + + (For reproducibility, set both Python's random seed and TensorFlow's random seed) + >>> import random + >>> random.seed(42) + >>> tf.random.set_seed(42) + + Example 1 + >>> data1 = numpy.array([[0.0, 0.0], [0.1, 0.1], [10.0, 10.0]], dtype=numpy.float32) + >>> centroids1, assignments1 = tf_k_means_cluster(data1, 2) + >>> print(centroids1) + [[ 0.05 0.05] + [10. 10. ]] + >>> print(assignments1) + [0 0 1] + + Example 2: + >>> data3 = numpy.array([[0.0, 0.0], [0.9, 0.9], [13.0, 15.0]], dtype=numpy.float32) + >>> tf_k_means_cluster(data3, 5) + Traceback (most recent call last): + ... + AssertionError """ noofclusters = int(noofclusters) assert noofclusters < len(vectors) - + # Find out the dimensionality dim = len(vectors[0]) From 9a3ae21387311b2b260885d162a884e74e63a7e4 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 30 Jul 2025 23:59:39 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- dynamic_programming/k_means_clustering_tensorflow.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dynamic_programming/k_means_clustering_tensorflow.py b/dynamic_programming/k_means_clustering_tensorflow.py index 5e0f3f503136..41e7244fbff9 100644 --- a/dynamic_programming/k_means_clustering_tensorflow.py +++ b/dynamic_programming/k_means_clustering_tensorflow.py @@ -9,7 +9,7 @@ def tf_k_means_cluster(vectors, noofclusters): K-Means Clustering using TensorFlow 1.x. Parameters: - vectors (numpy.ndarray): A n*k 2-D NumPy array of dtype float32, + vectors (numpy.ndarray): A n*k 2-D NumPy array of dtype float32, where n is the number of vectors and k is their dimensionality. noofclusters (int): An integer representing the number of clusters (k). @@ -37,7 +37,7 @@ def tf_k_means_cluster(vectors, noofclusters): noofclusters = int(noofclusters) assert noofclusters < len(vectors) - + # Find out the dimensionality dim = len(vectors[0])