Loading...

vastorbit.machine_learning.memmodel.cluster.KMeans

class vastorbit.machine_learning.memmodel.cluster.KMeans(clusters: Annotated[list | ndarray, 'Array Like Structure'], p: int = 2)

InMemoryModel implementation of KMeans.

Parameters:
  • clusters (ArrayLike) – list of the model’s cluster centers.

  • p (int, optional) – The p corresponding to one of the p-distances.

  • note:: (..) – memmodel() are defined entirely by their attributes. For example, clusters centroids and p value define a KMeans model.

Variables:
  • input (Attributes are identical to the)

  • underscore (parameters, followed by an)

  • ('_').

Examples

Initalization

Import the required module.

from vastorbit.machine_learning.memmodel.cluster import KMeans

A KMeans model is defined by its cluster centroids and the p value. In this example, we will use the following:

clusters = [[0.5, 0.6], [1, 2], [100, 200]]
p = 2

Let’s create a KMeans model.

model_km = KMeans(clusters, p)

Create a dataset.

data = [[2, 3]]

Making In-Memory Predictions

Use predict() method to do predictions

model_km.predict(data)[0]

Note

KMeans assigns a cluster id to identify each cluster. In this example, cluster with centroid [0.5, 0.6] will have id = 0, with centroid [1,2] will have id = 1 and so on. predict() method returns the id of the predicted cluster.

Use predict_proba() method to compute the predicted probabilities for each cluster.

model_km.predict_proba(data)

Use transform() method to compute the distance from each cluster.

model_km.transform(data)

Deploy SQL Code

Let’s use the following column names:

cnames = ['col1', 'col2']

Use predict_sql() method to get the SQL code needed to deploy the model using its attributes.

model_km.predict_sql(cnames)

Use predict_proba_sql() method to get the SQL code needed to deploy the model that computes predicted probabilities.

model_km.predict_proba_sql(cnames)

Use transform_sql() method to get the SQL code needed to deploy the model that computes distance from each cluster.

model_km.transform_sql(cnames)

Hint

This object can be pickled and used in any in-memory environment, just like scikit-learn models.

__init__(clusters: Annotated[list | ndarray, 'Array Like Structure'], p: int = 2) None

Methods

__init__(clusters[, p])

get_attributes()

Returns the model attributes.

predict(X)

Predicts clusters using the input matrix.

predict_proba(X)

Predicts the probability of each input to belong to the model clusters.

predict_proba_sql(X)

Returns the SQL code needed to deploy the model probabilities.

predict_sql(X)

Returns the SQL code needed to deploy the model using its attributes.

set_attributes(**kwargs)

Sets the model attributes.

transform(X)

Transforms and returns the distance to each cluster.

transform_sql(X)

Transforms and returns the SQL distance to each cluster.

Attributes

object_type

Must be overridden in child class