From 246819f932cd982a9ea30e7fcf4e24157a573748 Mon Sep 17 00:00:00 2001 From: Wuwei Lin Date: Thu, 31 May 2018 14:51:57 +0800 Subject: [PATCH] Update classifier and cluster meta examples --- examples/meta/src/binary/averaged_perceptron.sg | 14 ++++++-------- .../src/binary/kernel_support_vector_machine.sg | 2 +- .../src/binary/linear_support_vector_machine.sg | 10 +++++----- .../meta/src/binary/multiple_kernel_learning.sg | 2 +- examples/meta/src/binary/perceptron.sg | 14 ++++++-------- .../meta/src/clustering/gaussian_mixture_models.sg | 6 +++--- examples/meta/src/clustering/kmeans.sg | 5 ++--- src/shogun/clustering/KMeansMiniBatch.cpp | 5 +++++ 8 files changed, 29 insertions(+), 29 deletions(-) diff --git a/examples/meta/src/binary/averaged_perceptron.sg b/examples/meta/src/binary/averaged_perceptron.sg index 490da80c2eb..a44808d4c55 100644 --- a/examples/meta/src/binary/averaged_perceptron.sg +++ b/examples/meta/src/binary/averaged_perceptron.sg @@ -1,7 +1,7 @@ -CSVFile f_feats_train("../../data/classifier_binary_2d_linear_features_train.dat") -CSVFile f_feats_test("../../data/classifier_binary_2d_linear_features_test.dat") -CSVFile f_labels_train("../../data/classifier_binary_2d_linear_labels_train.dat") -CSVFile f_labels_test("../../data/classifier_binary_2d_linear_labels_test.dat") +File f_feats_train = csv_file("../../data/classifier_binary_2d_linear_features_train.dat") +File f_feats_test = csv_file("../../data/classifier_binary_2d_linear_features_test.dat") +File f_labels_train = csv_file("../../data/classifier_binary_2d_linear_labels_train.dat") +File f_labels_test = csv_file("../../data/classifier_binary_2d_linear_labels_test.dat") #![create_features] Features features_train = features(f_feats_train) @@ -11,9 +11,7 @@ Labels labels_test = labels(f_labels_test) #![create_features] #![set_parameters] -real learn_rate=1.0 -int max_iter=1000 -Machine perceptron = machine("AveragedPerceptron", labels=labels_train, learn_rate=learn_rate, max_iter=max_iter) +Machine perceptron = machine("AveragedPerceptron", labels=labels_train, learn_rate=1.0, max_iter=1000) #![set_parameters] #![train_and_apply] @@ -27,6 +25,6 @@ real bias = perceptron.get_real("bias") #![extract_weights] #![evaluate_accuracy] -AccuracyMeasure eval() +Evaluation eval = evaluation("AccuracyMeasure") real accuracy = eval.evaluate(labels_predict, labels_test) #![evaluate_accuracy] diff --git a/examples/meta/src/binary/kernel_support_vector_machine.sg b/examples/meta/src/binary/kernel_support_vector_machine.sg index ed6cdd773aa..2491643c13d 100644 --- a/examples/meta/src/binary/kernel_support_vector_machine.sg +++ b/examples/meta/src/binary/kernel_support_vector_machine.sg @@ -30,7 +30,7 @@ real b = svm.get_real("m_bias") #![extract_weights_bias] #![evaluate_accuracy] -AccuracyMeasure eval() +Evaluation eval = evaluation("AccuracyMeasure") real accuracy = eval.evaluate(labels_predict, labels_test) #![evaluate_accuracy] diff --git a/examples/meta/src/binary/linear_support_vector_machine.sg b/examples/meta/src/binary/linear_support_vector_machine.sg index 92749b4dbe4..87b7fb1b31a 100644 --- a/examples/meta/src/binary/linear_support_vector_machine.sg +++ b/examples/meta/src/binary/linear_support_vector_machine.sg @@ -1,7 +1,7 @@ -CSVFile f_feats_train("../../data/classifier_binary_2d_linear_features_train.dat") -CSVFile f_feats_test("../../data/classifier_binary_2d_linear_features_test.dat") -CSVFile f_labels_train("../../data/classifier_binary_2d_linear_labels_train.dat") -CSVFile f_labels_test("../../data/classifier_binary_2d_linear_labels_test.dat") +File f_feats_train = csv_file("../../data/classifier_binary_2d_linear_features_train.dat") +File f_feats_test = csv_file("../../data/classifier_binary_2d_linear_features_test.dat") +File f_labels_train = csv_file("../../data/classifier_binary_2d_linear_labels_train.dat") +File f_labels_test = csv_file("../../data/classifier_binary_2d_linear_labels_test.dat") #![create_features] Features features_train = features(f_feats_train) @@ -30,7 +30,7 @@ real b = svm.get_real("bias") #![extract_weights_bias] #![evaluate_accuracy] -AccuracyMeasure eval() +Evaluation eval = evaluation("AccuracyMeasure") real accuracy = eval.evaluate(labels_predict, labels_test) #![evaluate_accuracy] diff --git a/examples/meta/src/binary/multiple_kernel_learning.sg b/examples/meta/src/binary/multiple_kernel_learning.sg index bd881cbbd5d..69d19d52f17 100644 --- a/examples/meta/src/binary/multiple_kernel_learning.sg +++ b/examples/meta/src/binary/multiple_kernel_learning.sg @@ -45,7 +45,7 @@ Labels labels_predict = mkl.apply() #![mkl_apply] #![evaluate_accuracy] -AccuracyMeasure eval() +Evaluation eval = evaluation("AccuracyMeasure") real accuracy = eval.evaluate(labels_predict, labels_test) #![evaluate_accuracy] diff --git a/examples/meta/src/binary/perceptron.sg b/examples/meta/src/binary/perceptron.sg index ca94901d651..9274eaee950 100644 --- a/examples/meta/src/binary/perceptron.sg +++ b/examples/meta/src/binary/perceptron.sg @@ -1,7 +1,7 @@ -CSVFile f_feats_train("../../data/classifier_binary_2d_linear_features_train.dat") -CSVFile f_feats_test("../../data/classifier_binary_2d_linear_features_test.dat") -CSVFile f_labels_train("../../data/classifier_binary_2d_linear_labels_train.dat") -CSVFile f_labels_test("../../data/classifier_binary_2d_linear_labels_test.dat") +File f_feats_train = csv_file("../../data/classifier_binary_2d_linear_features_train.dat") +File f_feats_test = csv_file("../../data/classifier_binary_2d_linear_features_test.dat") +File f_labels_train = csv_file("../../data/classifier_binary_2d_linear_labels_train.dat") +File f_labels_test = csv_file("../../data/classifier_binary_2d_linear_labels_test.dat") #![create_features] Features features_train = features(f_feats_train) @@ -11,9 +11,7 @@ Labels labels_test = labels(f_labels_test) #![create_features] #![create_instance] -real learn_rate=1.0 -int max_iter=1000 -Machine perceptron = machine("Perceptron", labels=labels_train, learn_rate=learn_rate, max_iter=max_iter) +Machine perceptron = machine("Perceptron", labels=labels_train, learn_rate=1.0, max_iter=1000) #![create_instance] #![train_and_apply] @@ -27,6 +25,6 @@ real bias = perceptron.get_real("bias") #![extract_weights] #![evaluate_accuracy] -AccuracyMeasure eval() +Evaluation eval = evaluation("AccuracyMeasure") real accuracy = eval.evaluate(labels_predict, labels_test) #![evaluate_accuracy] diff --git a/examples/meta/src/clustering/gaussian_mixture_models.sg b/examples/meta/src/clustering/gaussian_mixture_models.sg index 11d231138e4..ea60909cec2 100644 --- a/examples/meta/src/clustering/gaussian_mixture_models.sg +++ b/examples/meta/src/clustering/gaussian_mixture_models.sg @@ -1,4 +1,4 @@ -CSVFile f_feats_train("../../data/classifier_4class_2d_linear_features_train.dat") +File f_feats_train = csv_file("../../data/classifier_4class_2d_linear_features_train.dat") Math:init_random(1) @@ -12,7 +12,7 @@ GMM gmm(num_components) #![create_gmm_instance] #![train_sample] -gmm.set_features(features_train) +gmm.put("features", features_train) gmm.train_em() RealVector output = gmm.sample() #![train_sample] @@ -25,7 +25,7 @@ gmm.train_smem() int component_num = 1 RealVector nth_mean = gmm.get_nth_mean(component_num) RealMatrix nth_cov = gmm.get_nth_cov(component_num) -RealVector coef = gmm.get_coef() +RealVector coef = gmm.get_real_vector("m_coefficients") #![extract_params] #![cluster_output] diff --git a/examples/meta/src/clustering/kmeans.sg b/examples/meta/src/clustering/kmeans.sg index aa14c561d93..908b5d94ac0 100644 --- a/examples/meta/src/clustering/kmeans.sg +++ b/examples/meta/src/clustering/kmeans.sg @@ -1,4 +1,4 @@ -CSVFile f_feats_train("../../data/classifier_binary_2d_linear_features_train.dat") +File f_feats_train = csv_file("../../data/classifier_binary_2d_linear_features_train.dat") Math:init_random(1) #![create_features] @@ -23,6 +23,5 @@ RealVector r = kmeans.get_radiuses() #![extract_centers_and_radius] #![create_instance_mb] -KMeansMiniBatch kmeans_mb(2, d) -kmeans_mb.set_mb_params(4, 1000) +KMeansMiniBatch kmeans_mb(k=2, distance=d, batch_size=4, mb_iter=1000) #![create_instance_mb] diff --git a/src/shogun/clustering/KMeansMiniBatch.cpp b/src/shogun/clustering/KMeansMiniBatch.cpp index 29d0628465d..ec50b401ed3 100644 --- a/src/shogun/clustering/KMeansMiniBatch.cpp +++ b/src/shogun/clustering/KMeansMiniBatch.cpp @@ -147,6 +147,11 @@ void CKMeansMiniBatch::init_mb_params() { batch_size=-1; minib_iter=-1; + + SG_ADD( + &batch_size, "batch_size", "batch size for mini-batch KMeans", + MS_NOT_AVAILABLE); + SG_ADD(&minib_iter, "mb_iter", "number of iterations", MS_NOT_AVAILABLE); } bool CKMeansMiniBatch::train_machine(CFeatures* data)