Module: SVMKit::Base::ClusterAnalyzer

Included in:
Clustering::DBSCAN, Clustering::KMeans
Defined in:
lib/svmkit/base/cluster_analyzer.rb

Overview

Module for all clustering algorithms in SVMKit.

Instance Method Summary collapse

Instance Method Details

#fit_predictObject

An abstract method for analyzing clusters and predicting cluster indices.

Raises:

  • (NotImplementedError)


11
12
13
# File 'lib/svmkit/base/cluster_analyzer.rb', line 11

def fit_predict
  raise NotImplementedError, "#{__method__} has to be implemented in #{self.class}."
end

#score(x, y) ⇒ Float

Calculate purity of clustering result.

Parameters:

  • x (Numo::DFloat)

    (shape: [n_samples, n_features]) Testing data.

  • y (Numo::Int32)

    (shape: [n_samples]) True labels for testing data.

Returns:

  • (Float)

    Purity



20
21
22
23
24
25
26
# File 'lib/svmkit/base/cluster_analyzer.rb', line 20

def score(x, y)
  SVMKit::Validation.check_sample_array(x)
  SVMKit::Validation.check_label_array(y)
  SVMKit::Validation.check_sample_label_size(x, y)
  evaluator = SVMKit::EvaluationMeasure::Purity.new
  evaluator.score(y, fit_predict(x))
end