From 76cd73fd36aaf7dcd76834f1ac05a9c3ac3b2271 Mon Sep 17 00:00:00 2001
From: Baptiste Bauvin <baptiste.bauvin@lis-lab.fr>
Date: Mon, 6 Apr 2020 07:49:49 -0400
Subject: [PATCH] Doc

---
 README.md                                      |   4 ++--
 docs/source/index.rst                          |   4 ++--
 docs/source/tutorials/example0.rst             |   2 +-
 docs/source/tutorials/example1.rst             |  17 ++++++++++-------
 docs/source/tutorials/example2.rst             |  11 ++++++-----
 docs/source/tutorials/example3.rst             |   4 +++-
 docs/source/tutorials/example5.rst             |   8 ++++----
 .../source/tutorials/images/example_3/gray.png | Bin 0 -> 34126 bytes
 docs/source/tutorials/installation.rst         |   2 +-
 9 files changed, 29 insertions(+), 23 deletions(-)
 create mode 100644 docs/source/tutorials/images/example_3/gray.png

diff --git a/README.md b/README.md
index 4abe29df..676a34ca 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ This project aims to be an easy-to-use solution to run a prior benchmark on a da
 
 ## Getting Started
 
-### Prerequisites
+### Prerequisites (will be automatically installed)
 
 To be able to use this project, you'll need :
 
@@ -45,7 +45,7 @@ In order to run it you'll need to try on **simulated** data with the command
 from multiview_platform.execute import execute
 execute()
 ```
-This will run the first example. For more information about the examples, see the [documentation](http://baptiste.bauvin.pages.lis-lab.fr/multiview-machine-learning-omis/) 
+This will run the first example. For more information about the examples, see the [documentation](http://baptiste.bauvin.pages.lis-lab.fr/multiview-machine-learning-omis/).
 Results will be stored in the results directory of the installation path : 
 `path/to/install/multiview-machine-learning-omis/multiview_platform/examples/results`.
 The documentation proposes a detailed interpretation of the results. 
diff --git a/docs/source/index.rst b/docs/source/index.rst
index a0e7fc57..a205aa03 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -1,5 +1,5 @@
-Welcome to Supervised MultiModal Integration Tool's documentation !
-===================================================================
+Welcome to Supervised MultiModal Integration Tool's documentation
+=================================================================
 
 This package has been designed as an easy-to-use platform to estimate different mono- and multi-view classifiers' performances on a multiview dataset.
 
diff --git a/docs/source/tutorials/example0.rst b/docs/source/tutorials/example0.rst
index 9a1baeea..d7e178f9 100644
--- a/docs/source/tutorials/example0.rst
+++ b/docs/source/tutorials/example0.rst
@@ -66,7 +66,7 @@ This is possible with another result analysis, available in :base_source:`png <m
     .. :file: images/example_0/err.html
     :file: images/fake.html
 
-This figure represents a matrix, with the examples in rows and classifiers in columns, with a white rectangle on row i, column j if classifier j failed to classify example i.
+This figure represents a matrix, with the examples in rows and classifiers in columns, with a white rectangle on row i, column j if classifier j succeerecded to classify example i.
 
 A quick analysis of it shows that a decision tree (DT) on the view ``digit_col_grad_0`` is unable to classify any example of labels 1, 2, 3 or 4. That both the other DTs have a similar behavior with other labels.
 Concerning the fusions, if you zoom in on the examples labelled "2"", you may see that some errors made by the early fusion classifier are on examples that were mis-classified by the three DTs :
diff --git a/docs/source/tutorials/example1.rst b/docs/source/tutorials/example1.rst
index 2c8e481d..18081bbe 100644
--- a/docs/source/tutorials/example1.rst
+++ b/docs/source/tutorials/example1.rst
@@ -46,6 +46,8 @@ It has been parametrized with the following error matrix :
 +---------+--------+--------+--------+--------+
 | label_7 |  0.40  |  0.40  |  0.40  |  0.40  |
 +---------+--------+--------+--------+--------+
+| label_7 |  0.40  |  0.40  |  0.40  |  0.40  |
++---------+--------+--------+--------+--------+
 
 So this means that the view 1 should make at least 40% error on label 1 and 65% on label 2.
 
@@ -72,10 +74,10 @@ The config file that will be used in this example is available :base_source:`her
 
 + Then the classification-related arguments :
 
-    - :yaml:`split: 0.25` (:base_source:`l35 <multiview_platform/examples/config_files/config_example_1.yml#L35>`) means that 80% of the dataset will be used to test the different classifiers and 20% to train them,
+    - :yaml:`split: 0.25` (:base_source:`l35 <multiview_platform/examples/config_files/config_example_1.yml#L35>`) means that 75% of the dataset will be used to test the different classifiers and 25% to train them,
     - :yaml:`type: ["monoview", "multiview"]` (:base_source:`l43 <multiview_platform/examples/config_files/config_example_1.yml#L43>`) allows for monoview and multiview algorithms to be used in the benchmark,
     - :yaml:`algos_monoview: ["decision_tree"]` (:base_source:`l45 <multiview_platform/examples/config_files/config_example_1.yml#L45>`) runs a Decision tree on each view,
-    - :yaml:`algos_monoview: ["weighted_linear_early_fusion", "weighted_linear_late_fusion"]` (:base_source:`l47 <multiview_platform/examples/config_files/config_example_1.yml#L47>`) runs a late and an early fusion,
+    - :yaml:`algos_multiview: ["weighted_linear_early_fusion", "weighted_linear_late_fusion"]` (:base_source:`l47 <multiview_platform/examples/config_files/config_example_1.yml#L47>`) runs a late and an early fusion,
     - The metrics configuration (:base_source:`l52-55 <multiview_platform/examples/config_files/config_example_1.yml#L52>`) ::
 
                         metrics:
@@ -101,6 +103,7 @@ The execution should take less than five minutes. We will first analyze the resu
 The result structure can be startling at first, but, as the platform provides a lot of information, it has to be organized.
 
 The results are stored in :base_source:`a directory <multiview_platform/examples/results/example_1/>`. Here, you will find a directory with the name of the database used for the benchmark, here : ``summit_doc/``
+
 Finally, a directory with the date and time of the beginning of the experiment. Let's say you started the benchmark on the 25th of December 1560, at 03:42 PM, the directory's name should be ``started_1560_12_25-15_42/``.
 
 From here the result directory has the structure that follows  :
@@ -156,7 +159,7 @@ Let's comment each file :
 ``*-accuracy_score*.html``, ``*-accuracy_score*.png`` and ``*-accuracy_score*.csv``
 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
-These files contain the scores of each classifier for the accuracy metric, ordered with the best ones on the right and the worst ones on the left, as an interactive html page, an image or a csv matrix. The star after ``accuracy_score*`` means that it was the principal metric (the usefulness of the principal metric will be explained later).
+These files contain the scores of each classifier for the accuracy metric, ordered with the worst ones on the left and the best ones on the right, as an interactive html page, an image or a csv matrix. The star after ``accuracy_score*`` means that it was the principal metric (the usefulness of the principal metric will be explained later).
 The html version is as follows :
 
 .. raw:: html
@@ -167,7 +170,7 @@ This is a bar plot showing the score on the training set (light gray), and testi
 
 Here, the generated dataset is build to introduce some complementarity amongst the views. As a consequence, the two multiview algorithms, even if they are naive, have a better score than the decision trees.
 
-The ``.csv`` file is a matrix with the score on train stored in the first row and the score on test stored in the second one. Each classifier is presented in a row. It is loadable with pandas.
+The ``.csv`` file is a matrix with the score on train stored in the first row and the score on test stored in the second one. Each classifier is presented in a column. It is loadable with pandas.
 
 A similar graph ``*-accuracy_score*-class.html``, reports the error of each classifier on each class.
 
@@ -175,7 +178,7 @@ A similar graph ``*-accuracy_score*-class.html``, reports the error of each clas
     .. :file: ./images/example_1/accuracy_class.html
     :file: images/fake.html
 
-Here, for each classifier, 8 bars are plotted, one foe each class. It is clear that fore the monoview algorithms, in views 2 and 3, the third class is difficult, as showed in the error matrix.
+Here, for each classifier, 8 bars are plotted, one for each class. It is clear that for the monoview algorithms, in views 2 and 3, the third class is difficult, as showed in the error matrix.
 
 
 ``*-error_analysis_2D.png`` and ``*-error_analysis_2D.html``
@@ -210,9 +213,9 @@ In terms of information, this is useful to detect possible outlier examples in t
 For example, a mainly black horizontal line for an example means that it has been missclassified by most of the classifiers.
 It could mean that the example is incorrectly labeled in the dataset or is very hard to classify.
 
-Symmetrically, a mainly-black column means that a classifier spectacularly failed on the asked task.
+Symmetrically, a mainly-black column means that a classifier spectacularly failed.
 
-The data used to generate those matrices is available in ``*-2D_plot_data.csv``
+The data used to generate this matrix is available in ``*-2D_plot_data.csv``
 
 ``*-error_analysis_bar.png`` and ``*-error_analysis_bar.html``
 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
diff --git a/docs/source/tutorials/example2.rst b/docs/source/tutorials/example2.rst
index 67bf4a63..4147a605 100644
--- a/docs/source/tutorials/example2.rst
+++ b/docs/source/tutorials/example2.rst
@@ -5,7 +5,7 @@
 Example 2 : Understanding the hyper-parameter optimization
 ==========================================================
 
-If you are not familir with hyper-parameter optimization, see :base_doc:`Hyper-parameters 101 <tutorials/hps_theory.html>`
+If you are not familiar with hyper-parameter optimization, see :base_doc:`Hyper-parameters 101 <tutorials/hps_theory.html>`
 
 Hands-on experience
 -------------------
@@ -118,21 +118,22 @@ Conclusion
 >>>>>>>>>>
 
 The split ratio has two consequences :
+
 - Increasing the test set size decreases the information available in the train set size so either it helps to avoid overfitting (Adaboost) or it can hide useful information to the classifier and therefor decrease its performance (decision tree),
-- The second consequence is that decreasing test size will increase the benchmark duration as the classifier will have to learn  on more examples, this duration modification is higher if the dataset has high dimensionality and if the algorithm is algorithmically complex.
+- The second consequence is that increasing train size will increase the benchmark duration as the classifier will have to learn  on more examples, this duration modification is higher if the dataset has high dimensionality and if the algorithm is algorithmically complex.
 
 .. _random:
 Example 2.2 : Usage of randomized hyper-parameter optimization :
 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
-In the previous example, we have seen that the split ratio has an impact on the train duration and performance of the algorithms, b the most time-consuming task is optimizing their hyper parameters.
+In the previous example, we have seen that the split ratio has an impact on the train duration and performance of the algorithms, but the most time-consuming task is optimizing their hyper parameters.
 
 For all the previous examples, the platform used the hyper-parameters values given in the config file.
 This is only useful if one knows the optimal combination of hyper-parameter for the given task.
 
 However, most of the time, they are unknown to the user, and then have to be optimized by the platform.
 
-In this example, we will use an randomized search, one of the two hyper-parameter optimization methods implemented in |platf|, to do so we will go through five lines of the config file :
+In this example, we will use an randomized search, one of the two hyper-parameter optimization methods implemented in |platf|. To do so we will go through five lines of the config file :
 
 - :yaml:`hps_type:`, controlling the type of hyper-parameter search,
 - :yaml:`n_iter:`, controlling the number of random draws during the hyper-parameter search,
@@ -206,7 +207,7 @@ Here, we used :yaml:`split: 0.8` and the results are far better than :base_doc:`
 
 
 
-The choice made here is to allow a different amount of draws for mono and multiview classifiers. However, allowing the same number of draws to both is also available by setting :yaml:` equivalent_draws: False`.
+The choice made here is to allow a different amount of draws for mono and multiview classifiers. However, allowing the same number of draws to both is also available by setting :yaml:`equivalent_draws: False`.
 
 .. note::
 
diff --git a/docs/source/tutorials/example3.rst b/docs/source/tutorials/example3.rst
index 8f14d07e..d9f90322 100644
--- a/docs/source/tutorials/example3.rst
+++ b/docs/source/tutorials/example3.rst
@@ -6,8 +6,10 @@ Context
 -------
 
 In the previous example, we have seen that in order to output meaningful results, the platform splits the input dataset in a training set and a testing set.
+
 However, even if the split is done at random, one can draw a lucky (or unlucky) split and have great (or poor) performance on this specific split.
-To settle this issue, the platform can run on multiple splits and return the mean.
+
+To settle this issue, the platform can run on multiple splits and return the mean scores.
 
 
 How to use it
diff --git a/docs/source/tutorials/example5.rst b/docs/source/tutorials/example5.rst
index 4461b999..ba04eb9d 100644
--- a/docs/source/tutorials/example5.rst
+++ b/docs/source/tutorials/example5.rst
@@ -37,7 +37,7 @@ Indeed, all the algorithms included in the platform must provide two hyper-param
 - :python:`self.param_names` that contain the name of the hyper-parameters that have to be optimized (they must correspond to the name of the attributes of the class :python:`Algo`)
 - :python:`self.distribs` that contain the distributions for each of these hyper-parameters.
 
-For example, let's suppose that algo need three hyper-parameters and a random state parameter allowing reproducibility :
+For example, let's suppose that |algo| need three hyper-parameters and a random state parameter allowing reproducibility :
 
 - :python:`trade_off` that is a float between 0 and 1,
 - :python:`norm_type` that is a string in :python:`["l1", "l2"]`,
@@ -78,7 +78,7 @@ It is possible to provide some information about the decision process of the alg
 It inputs four arguments :
 
 * :python:`directory`, a string containing the directory where figures should be sotred
-* :python:`base_file_name`, a string containing the file name prefix that shoul be used to sotre figures
+* :python:`base_file_name`, a string containing the file name prefix that should be used to store figures
 * :python:`y_test`, an array containing the labels of the test set
 * :python:`multiclass` a boolean that is True if the target is multiclass
 
@@ -127,8 +127,8 @@ Moreover, one has to add a variable called :python:`classifier_class_name` that
                 self.param_names = ["param_1", "random_state", "param_2"]
                 self.distribs = [CustomRandint(5,200), [random_state], ["val_1", "val_2"]]
 
-In |platf| the input of the :python:`fit()` method is `X`, a dataset object that provide access to each view with a method : :python:`dataset_var.get_v(view_index, example_indices)`,
-so in order to add a mutliview classifier to |platf|, one will probably have to add a data-transformation step before using the class's :python:`fit()` method.
+In |platf| the input of the :python:`fit()` method is `X`, a dataset object that provide access to each view with a method : :python:`dataset_var.get_v(view_index, example_indices)`.
+So in order to add a mutliview classifier to |platf|, one will probably have to add a data-transformation step before using the class's :python:`fit()` method.
 
 Moreover, to get restrain the examples and descriptors used in the method, |platf| provides two supplementary arguments :
 
diff --git a/docs/source/tutorials/images/example_3/gray.png b/docs/source/tutorials/images/example_3/gray.png
new file mode 100644
index 0000000000000000000000000000000000000000..cd69ba179151e37438710ab810e3bcff78323001
GIT binary patch
literal 34126
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
a^q*O0IzzE;1Y0ZU2pCUSKbLh*2~7aav1+^k

literal 0
HcmV?d00001

diff --git a/docs/source/tutorials/installation.rst b/docs/source/tutorials/installation.rst
index 57cc4154..de5ab85a 100644
--- a/docs/source/tutorials/installation.rst
+++ b/docs/source/tutorials/installation.rst
@@ -3,7 +3,7 @@
 Install |platf|
 =======================================
 
-Multiview Platform is a package developped for Python3.x.
+|platf| is a package developped for Python3.x.
 
 To sum up what you need to run the platform :
 
-- 
GitLab