From 026cf32b2b41a1d85ca8b01180fefb9e2339ef5f Mon Sep 17 00:00:00 2001 From: Baozeng Ding Date: Wed, 20 Jul 2011 14:42:28 +0800 Subject: [PATCH 1/5] add evaluation_contingencytableevaluation_modular example --- ...ion_contingencytableevaluation_modular.lua | 54 +++++++++++++++++++ src/interfaces/lua_modular/shogun.lua | 10 ++++ 2 files changed, 64 insertions(+) create mode 100644 examples/undocumented/lua_modular/evaluation_contingencytableevaluation_modular.lua diff --git a/examples/undocumented/lua_modular/evaluation_contingencytableevaluation_modular.lua b/examples/undocumented/lua_modular/evaluation_contingencytableevaluation_modular.lua new file mode 100644 index 00000000000..2dcaad5878f --- /dev/null +++ b/examples/undocumented/lua_modular/evaluation_contingencytableevaluation_modular.lua @@ -0,0 +1,54 @@ +require 'shogun' +require 'load' + +ground__truth = load_labels('../data/label_train_twoclass.dat') +math.randomseed(17) + +--predicted = random.randn(len(ground_truth)) +predicte = {} +for i = 1, #ground__truth do + table.insert(predicte, math.random()) +end +parameter_list = {{ground__truth,predicte}} + +function evaluation_contingencytableevaluation_modular(ground_truth, predicted) + + ground_truth_labels = Labels(ground_truth) + predicted_labels = Labels(predicted) + + base_evaluator = ContingencyTableEvaluation() + base_evaluator:evaluate(predicted_labels,ground_truth_labels) + + evaluator = AccuracyMeasure() + accuracy = evaluator:evaluate(predicted_labels,ground_truth_labels) + + evaluator = ErrorRateMeasure() + errorrate = evaluator:evaluate(predicted_labels,ground_truth_labels) + + evaluator = BALMeasure() + bal = evaluator:evaluate(predicted_labels,ground_truth_labels) + + evaluator = WRACCMeasure() + wracc = evaluator:evaluate(predicted_labels,ground_truth_labels) + + evaluator = F1Measure() + f1 = evaluator:evaluate(predicted_labels,ground_truth_labels) + + evaluator = CrossCorrelationMeasure() + crosscorrelation = evaluator:evaluate(predicted_labels,ground_truth_labels) + + evaluator = RecallMeasure() + recall = evaluator:evaluate(predicted_labels,ground_truth_labels) + + evaluator = PrecisionMeasure() + precision = evaluator:evaluate(predicted_labels,ground_truth_labels) + + evaluator = SpecificityMeasure() + specificity = evaluator:evaluate(predicted_labels,ground_truth_labels) + + return accuracy, errorrate, bal, wracc, f1, crosscorrelation, recall, precision, specificity +end + +print 'ContingencyTableEvaluation' +evaluation_contingencytableevaluation_modular(unpack(parameter_list[1])) + diff --git a/src/interfaces/lua_modular/shogun.lua b/src/interfaces/lua_modular/shogun.lua index b5562c2d3c6..5fdbff9f404 100644 --- a/src/interfaces/lua_modular/shogun.lua +++ b/src/interfaces/lua_modular/shogun.lua @@ -129,3 +129,13 @@ SortWordString = modshogun.SortWordString SortWordString = modshogun.SortWordString SparsePreprocessor = modshogun.SparsePreprocessor StringPreprocessor = modshogun.StringPreprocessor +ContingencyTableEvaluation = modshogun.ContingencyTableEvaluation +AccuracyMeasure = modshogun.AccuracyMeasure +ErrorRateMeasure = modshogun.ErrorRateMeasure +BALMeasure = modshogun.BALMeasure +WRACCMeasure = modshogun.WRACCMeasure +F1Measure = modshogun.F1Measure +CrossCorrelationMeasure = modshogun.CrossCorrelationMeasure +RecallMeasure = modshogun.RecallMeasure +PrecisionMeasure = modshogun.PrecisionMeasure +SpecificityMeasure = modshogun.SpecificityMeasure From 2c98bc0a75c1e8b0eb7c1c0bdf52e304295f31b7 Mon Sep 17 00:00:00 2001 From: Baozeng Ding Date: Wed, 20 Jul 2011 14:56:41 +0800 Subject: [PATCH 2/5] fix typo --- .../evaluation_contingencytableevaluation_modular.lua | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/examples/undocumented/lua_modular/evaluation_contingencytableevaluation_modular.lua b/examples/undocumented/lua_modular/evaluation_contingencytableevaluation_modular.lua index 2dcaad5878f..5c3ed07143c 100644 --- a/examples/undocumented/lua_modular/evaluation_contingencytableevaluation_modular.lua +++ b/examples/undocumented/lua_modular/evaluation_contingencytableevaluation_modular.lua @@ -1,15 +1,14 @@ require 'shogun' require 'load' -ground__truth = load_labels('../data/label_train_twoclass.dat') +ground_truth = load_labels('../data/label_train_twoclass.dat') math.randomseed(17) ---predicted = random.randn(len(ground_truth)) -predicte = {} -for i = 1, #ground__truth do - table.insert(predicte, math.random()) +predicted = {} +for i = 1, #ground_truth do + table.insert(predicted, math.random()) end -parameter_list = {{ground__truth,predicte}} +parameter_list = {{ground_truth,predicted}} function evaluation_contingencytableevaluation_modular(ground_truth, predicted) From 355c82cb2b7e7a969f5aeca3ded2ef7577b7e3be Mon Sep 17 00:00:00 2001 From: Baozeng Ding Date: Wed, 20 Jul 2011 15:04:58 +0800 Subject: [PATCH 3/5] add features_simple_real_modular example --- .../features_simple_real_modular.lua | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 examples/undocumented/lua_modular/features_simple_real_modular.lua diff --git a/examples/undocumented/lua_modular/features_simple_real_modular.lua b/examples/undocumented/lua_modular/features_simple_real_modular.lua new file mode 100644 index 00000000000..d380de1a92c --- /dev/null +++ b/examples/undocumented/lua_modular/features_simple_real_modular.lua @@ -0,0 +1,17 @@ +require 'shogun' + +matrix = {{1,2,3},{4,0,0},{0,0,0},{0,5,0},{0,0,6},{9,9,9}} + +parameter_list = {{matrix}} + +function features_simple_real_modular(A) + a=RealFeatures(A) + a:set_feature_vector({1,4,0,0,0,9}, 0) + + a_out = a:get_feature_matrix() + + return a_out +end + +print 'simple_real' +features_simple_real_modular(unpack(parameter_list[1])) From 181e6650360adbc5c44b7f220b7682fda9d2a967 Mon Sep 17 00:00:00 2001 From: Baozeng Ding Date: Wed, 20 Jul 2011 15:09:27 +0800 Subject: [PATCH 4/5] add preprocessor_classicisomap example --- .../preprocessor_classicisomap_modular.lua | 20 +++++++++++++++++++ src/interfaces/lua_modular/shogun.lua | 1 + 2 files changed, 21 insertions(+) create mode 100644 examples/undocumented/lua_modular/preprocessor_classicisomap_modular.lua diff --git a/examples/undocumented/lua_modular/preprocessor_classicisomap_modular.lua b/examples/undocumented/lua_modular/preprocessor_classicisomap_modular.lua new file mode 100644 index 00000000000..899478b3439 --- /dev/null +++ b/examples/undocumented/lua_modular/preprocessor_classicisomap_modular.lua @@ -0,0 +1,20 @@ +require 'shogun' +require 'load' + +data = load_numbers('../data/fm_train_real.dat') + +parameter_list = {{data}} + +function preprocessor_classicisomap_modular(data) + features = RealFeatures(data) + + preprocessor = ClassicIsomap() + preprocessor:set_target_dim(1) + preprocessor:apply_to_feature_matrix(features) + + return features +end + +print 'ClassicIsomap' +preprocessor_classicisomap_modular(unpack(parameter_list[1])) + diff --git a/src/interfaces/lua_modular/shogun.lua b/src/interfaces/lua_modular/shogun.lua index 5fdbff9f404..1d264138519 100644 --- a/src/interfaces/lua_modular/shogun.lua +++ b/src/interfaces/lua_modular/shogun.lua @@ -139,3 +139,4 @@ CrossCorrelationMeasure = modshogun.CrossCorrelationMeasure RecallMeasure = modshogun.RecallMeasure PrecisionMeasure = modshogun.PrecisionMeasure SpecificityMeasure = modshogun.SpecificityMeasure +ClassicIsomap = modshogun.ClassicIsomap From 0e4d08584523a36db40a6a935f92ff7d5d439e0d Mon Sep 17 00:00:00 2001 From: Baozeng Ding Date: Wed, 20 Jul 2011 15:12:53 +0800 Subject: [PATCH 5/5] regression_krr_modular.lua --- .../lua_modular/regression_krr_modular.lua | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 examples/undocumented/lua_modular/regression_krr_modular.lua diff --git a/examples/undocumented/lua_modular/regression_krr_modular.lua b/examples/undocumented/lua_modular/regression_krr_modular.lua new file mode 100644 index 00000000000..73a5b254f6d --- /dev/null +++ b/examples/undocumented/lua_modular/regression_krr_modular.lua @@ -0,0 +1,28 @@ +require 'shogun' +require 'load' + +traindat = load_numbers('../data/fm_train_real.dat') +testdat = load_numbers('../data/fm_test_real.dat') +label_traindat = load_labels('../data/label_train_twoclass.dat') + + +parameter_list = {{traindat,testdat,label_traindat,0.8,1e-6},{traindat,testdat,label_traindat,0.9,1e-7}} + +function regression_krr_modular (fm_train,fm_test,label_train,width,tau) + feats_train=RealFeatures(fm_train) + feats_test=RealFeatures(fm_test) + + kernel=GaussianKernel(feats_train, feats_train, width) + + labels=Labels(label_train) + + krr=KRR(tau, kernel, labels) + krr:train(feats_train) + + kernel:init(feats_train, feats_test) + out = krr:apply():get_labels() + return out,kernel,krr +end + +print 'KRR' +regression_krr_modular(unpack(parameter_list[1]))