KMeans
public class KMeans
K-Means Clustering
-
Method for initialization.
Declaration
Swift
var initializer: String
-
Seed for initializing the pseudo-random number generator.
Declaration
Swift
var seed: Int64
-
Maximum number of iterations of the k-means algorithm to run.
Declaration
Swift
var maximumIterationCount: Int
-
The number of clusters to form as well as the number of centroids to generate.
Declaration
Swift
var clusterCount: Int
-
Cluster centers which data is assigned to.
Declaration
Swift
public var centroids: Tensor<Float>
-
Inertia is the sum of square distances of samples to their closest cluster center.
Declaration
Swift
public var inertia: Tensor<Float>
-
Predicted cluster for training data.
Declaration
Swift
public var labels: Tensor<Int32>
-
Creates a Kmeans cluster.
Declaration
Swift
public init( clusterCount: Int = 2, maximumIterationCount: Int = 300, initializer: String = "kmeans++", seed: Int64 = 0 )
Parameters
clusterCount
The number of clusters to form as well as the number of centroids to generate, default to
2
.maximumIterationCount
Maximum number of iterations of the k-means algorithm to run, default to
300
.initializer
Select the initialization method for centroids.
kmeans++
,random
methods for initialization, default tokmeans++
.seed
Used to initialize a pseudo-random number generator, default to
0
. -
Returns the index of centroid having minimum euclidean distance with data.
Declaration
Swift
internal func nearest(centroids: Tensor<Float>, data: Tensor<Float>) -> Tensor<Int32>
Parameters
centroids
Centroids with shape
[1, feature count]
.data
Data tensor of shape
[sample count, feature count]
.Return Value
Index of minimum euclidean distance centroid.
-
Heuristic Initialization of centroids.
Declaration
Swift
internal func kmeansPlusPlus(_ data: Tensor<Float>)
Parameters
data
Data with shape
[sample count, feature count]
. -
Random Initialization of centroids.
Declaration
Swift
internal func randomInitializer(_ data: Tensor<Float>)
Parameters
data
Data with shape
[sample count, feature count]
. -
Fit a k-means cluster.
Declaration
Swift
public func fit(data: Tensor<Float>)
Parameters
data
Input data with shape
[sample count, feature count]
. -
Returns the prediced cluster labels.
Declaration
Swift
public func prediction(for data: Tensor<Float>) -> Tensor<Int32>
Parameters
data
Input data with shape
[sample count, feature count]
.Return Value
Prediction for input data.
-
Returns fit and prediced cluster labels.
Declaration
Swift
public func fitAndPrediction(for data: Tensor<Float>) -> Tensor<Int32>
Parameters
data
Input data with shape
[sample count, feature count]
.Return Value
Predicted prediction for input data.
-
Returns Transform input to a cluster-distance space.
Declaration
Swift
public func transformation(for data: Tensor<Float>) -> Tensor<Float>
Parameters
data
Input data with shape
[sample count, feature count]
.Return Value
Transformed input to a cluster-distance space.
-
Returns fit and Transform input to a cluster-distance space.
Declaration
Swift
public func fitAndTransformation(for data: Tensor<Float>) -> Tensor<Float>
Parameters
data
Input data with shape
[sample count, feature count]
.Return Value
Transformed data to a cluster-distance space.
-
Returns the sum of square distances of samples to their closest cluster center.
Declaration
Swift
public func score() -> Tensor<Float>
Return Value
Sum of square distances of samples to their closest cluster center.