User Guide

This guide explains how to use this package and obtain results published in our paper. Results can be re-generated automatically by executing the following command:

$ rr-paper

For your reference, the paper tables are repeated below, so you can check the reproducibility of our solution.

Results for Protocol proto1

Protocol proto1 is configured to use the first 30 samples for each class in the dataset for training, and the last 20 samples for each class for testing our solution. The samples are not randomized. Results are present in terms of total Classification Error Rate (CER), in percentage. The best results are bold faced.

Single Variables

CER only using a single variable.

Variable

CER

sepal length

23%

sepal width

36%

petal length

3%

petal width

3%

Two Variables

CER only using any two variables together.

Variable 1

Variable 2

CER

sepal length

sepal width

16%

sepal length

petal length

1%

sepal length

petal width

3%

sepal width

petal length

3%

sepal width

petal width

5%

petal length

petal width

5%

Three Variables

CER only using any three variables together.

Variable 1

Variable 2

Variable 3

CER

sepal length

sepal width

petal length

3%

sepal length

sepal width

petal width

5%

sepal length

petal length

petal width

1%

sepal width

petal length

petal width

5%

All Variables

The CER using all variables available in the dataset is 3%.

Results for Protocol proto2

Protocol proto2 is configured to use the last 30 samples for each class in the dataset for training, and the first 20 samples for each class for testing our solution. The samples are not randomized. Results are present in terms of total Classification Error Rate (CER), in percentage. The best results are bold faced.

Single Variables

CER only using a single variable.

Variable

CER

sepal length

33%

sepal width

46%

petal length

3%

petal width

3%

Two Variables

CER only using any two variables together.

Variable 1

Variable 2

CER

sepal length

sepal width

20%

sepal length

petal length

3%

sepal length

petal width

6%

sepal width

petal length

10%

sepal width

petal width

3%

petal length

petal width

3%

Three Variables

CER only using any three variables together.

Variable 1

Variable 2

Variable 3

CER

sepal length

sepal width

petal length

6%

sepal length

sepal width

petal width

3%

sepal length

petal length

petal width

3%

sepal width

petal length

petal width

3%

All Variables

The CER using all variables available in the dataset is 3%.

Running the app

You can use the internal API to run the tests for each combination of variables individually, like indicated in this section.

Single Variables

For all protocols. The number passed to the function only affects the Table number as printed on the output. It does not affect the method.

from rr import paper
paper.infer_impact_of_variables_single(1, protocols=["proto1", "proto2"])
Table 1: Single variables for Protocol `proto1`:
------------------------------------------------------------
sepal length    | 23%
sepal width     | 36%
petal length    | 3%
petal width     | 3%

Table 2: Single variables for Protocol `proto2`:
------------------------------------------------------------
sepal length    | 33%
sepal width     | 46%
petal length    | 3%
petal width     | 3%

Two Variables

For all protocols. The number passed to the function only affects the Table number as printed on the output. It does not affect the method.

from rr import paper
paper.infer_impact_of_variables_2by2(1, protocols=["proto1", "proto2"])
Table 1: Variable combinations, 2x2 for Protocol `proto1`:
------------------------------------------------------------
sepal length + sepal width     | 16%
sepal length + petal length    | 1%
sepal length + petal width     | 3%
sepal width + petal length     | 3%
sepal width + petal width      | 5%
petal length + petal width     | 5%

Table 2: Variable combinations, 2x2 for Protocol `proto2`:
------------------------------------------------------------
sepal length + sepal width     | 20%
sepal length + petal length    | 3%
sepal length + petal width     | 6%
sepal width + petal length     | 10%
sepal width + petal width      | 3%
petal length + petal width     | 3%

Three Variables

For all protocols. The number passed to the function only affects the Table number as printed on the output. It does not affect the method.

from rr import paper
paper.infer_impact_of_variables_3by3(1, protocols=["proto1", "proto2"])
Table 1: Variable combinations, 3x3 for Protocol `proto1`:
------------------------------------------------------------
sepal length + sepal width + petal length     | 3%
sepal length + sepal width + petal width      | 5%
sepal length + petal length + petal width     | 1%
sepal width + petal length + petal width      | 5%

Table 2: Variable combinations, 3x3 for Protocol `proto2`:
------------------------------------------------------------
sepal length + sepal width + petal length     | 6%
sepal length + sepal width + petal width      | 3%
sepal length + petal length + petal width     | 3%
sepal width + petal length + petal width      | 3%

All Variables

For all protocols. The number passed to the function only affects the Table number as printed on the output. It does not affect the method.

from rr import paper
paper.infer_impact_of_variables_all(1, protocols=["proto1", "proto2"])
Table 1: All variables for Protocol `proto1`:
------------------------------------------------------------
sepal length + sepal width + petal length + petal width | 3%

Table 2: All variables for Protocol `proto2`:
------------------------------------------------------------
sepal length + sepal width + petal length + petal width | 3%