Created
August 6, 2016 04:12
-
-
Save sanuj/112a42c32062644f533325e6639af06a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'modshogun' | |
f_feats_train = Modshogun::CSVFile.new "../../data/classifier_binary_2d_nonlinear_features_train.dat" | |
f_feats_test = Modshogun::CSVFile.new "../../data/classifier_binary_2d_nonlinear_features_test.dat" | |
f_labels_train = Modshogun::CSVFile.new "../../data/classifier_binary_2d_nonlinear_labels_train.dat" | |
f_labels_test = Modshogun::CSVFile.new "../../data/classifier_binary_2d_nonlinear_labels_test.dat" | |
#![create_features] | |
features_train = Modshogun::RealFeatures.new f_feats_train | |
features_test = Modshogun::RealFeatures.new f_feats_test | |
labels_train = Modshogun::BinaryLabels.new f_labels_train | |
labels_test = Modshogun::BinaryLabels.new f_labels_test | |
#![create_features] | |
#![create_kernel] | |
poly_kernel = Modshogun::PolyKernel.new 10, 3 | |
poly_kernel.init features_train, features_train | |
poly_kernel_mat_train = poly_kernel.get_kernel_matrix | |
custom_kernel = Modshogun::CustomKernel.new poly_kernel_mat_train | |
another_poly_kernel = Modshogun::PolyKernel.new 10, 2 | |
gauss_kernel = Modshogun::GaussianKernel.new 0.5 | |
#![create_kernel] | |
#![create_combined_train] | |
combined_kernel = Modshogun::CombinedKernel.new | |
combined_kernel.append_kernel custom_kernel | |
combined_kernel.append_kernel another_poly_kernel | |
combined_kernel.append_kernel gauss_kernel | |
combined_kernel.init features_train, features_train | |
#![create_combined_train] | |
#![train_mkl] | |
mkl = Modshogun::MKLClassification.new | |
mkl.set_kernel combined_kernel | |
mkl.set_labels labels_train | |
mkl.train | |
#![train_mkl] | |
#![extract_weights] | |
beta = combined_kernel.get_subkernel_weights | |
alpha = mkl.get_alphas | |
bias = mkl.get_bias | |
#![extract_weights] | |
#![create_combined_test] | |
poly_kernel.init features_train, features_test | |
poly_kernel_mat_test = poly_kernel.get_kernel_matrix | |
custom_kernel.set_full_kernel_matrix_from_full poly_kernel_mat_test | |
combined_kernel.init features_train, features_test | |
#![create_combined_test] | |
#![mkl_apply] | |
mkl.set_kernel combined_kernel | |
labels_predict = mkl.apply_binary | |
#![mkl_apply] | |
#![evaluate_accuracy] | |
eval = Modshogun::AccuracyMeasure.new | |
accuracy = eval.evaluate labels_predict, labels_test | |
#![evaluate_accuracy] | |
# additional integration testing variables | |
output = labels_predict.get_labels |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment