diff --git a/doc-sources/changelog.rst b/doc-sources/changelog.rst index 9a9e11c7..d52eeb1a 100644 --- a/doc-sources/changelog.rst +++ b/doc-sources/changelog.rst @@ -4,7 +4,7 @@ Changelog ========= -Versions 0.9.0 to 0.9.1 +Versions 0.9.0 to 0.9.2-dev ======================= - Pre-process the learning set before all learning algorithms. diff --git a/doc-sources/get-started.rst b/doc-sources/get-started.rst index 34b23829..1c04db0e 100644 --- a/doc-sources/get-started.rst +++ b/doc-sources/get-started.rst @@ -83,7 +83,7 @@ Generate a classification problem with 4 criteria and 3 categories (@todo(Docume The generated ``problem.yml`` should look like:: - # Reproduction command (with lincs version 0.9.1): lincs generate classification-problem 4 3 --random-seed 40 + # Reproduction command (with lincs version 0.9.2-dev): lincs generate classification-problem 4 3 --random-seed 40 kind: classification-problem format_version: 1 criteria: @@ -137,7 +137,7 @@ Then generate an NCS classification model (@todo(Documentation, soon) Link to co It should look like:: - # Reproduction command (with lincs version 0.9.1): lincs generate classification-model problem.yml --random-seed 41 --model-type mrsort + # Reproduction command (with lincs version 0.9.2-dev): lincs generate classification-model problem.yml --random-seed 41 --model-type mrsort kind: ncs-classification-model format_version: 1 boundaries: @@ -196,7 +196,7 @@ Then we'll need to think about the how the ``--max-imbalance`` option interacts It should start with something like this, and contain 1000 alternatives:: - # Reproduction command (with lincs version 0.9.1): lincs generate classified-alternatives problem.yml model.yml 1000 --random-seed 42 --misclassified-count 0 + # Reproduction command (with lincs version 0.9.2-dev): lincs generate classified-alternatives problem.yml model.yml 1000 --random-seed 42 --misclassified-count 0 name,"Criterion 1","Criterion 2","Criterion 3","Criterion 4",category "Alternative 1",0.37454012,0.796543002,0.95071429,0.183434784,"Category 3" "Alternative 2",0.731993914,0.779690981,0.598658502,0.596850157,"Category 2" @@ -254,7 +254,7 @@ The learning set doesn't contain all the information from the original model, and the trained model was reconstituted from this partial information, so it is numerically different:: - # Reproduction command (with lincs version 0.9.1): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver glop --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor cpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0 + # Reproduction command (with lincs version 0.9.2-dev): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver glop --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor cpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0 # Termination condition: target accuracy reached # Number of iterations: 22 kind: ncs-classification-model diff --git a/doc-sources/user-guide.rst b/doc-sources/user-guide.rst index f8e9ddb3..d95fa00e 100644 --- a/doc-sources/user-guide.rst +++ b/doc-sources/user-guide.rst @@ -130,7 +130,7 @@ If those conditions are verified, you can tweak the "weights, profiles, breed" l This should output a similar model, with slight numerical differences. .. START other-learnings/expected-gpu+alglib-trained-model.yml - # Reproduction command (with lincs version 0.9.1): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver alglib --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor gpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0 + # Reproduction command (with lincs version 0.9.2-dev): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver alglib --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor gpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0 # Termination condition: target accuracy reached # Number of iterations: 9 kind: ncs-classification-model @@ -166,7 +166,7 @@ You can also use an entirely different approach using SAT and max-SAT solvers:: It should produce a different kind of model, with the sufficient coalitions specified explicitly by their roots:: - # Reproduction command (with lincs version 0.9.1): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.approach sat-by-coalitions + # Reproduction command (with lincs version 0.9.2-dev): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.approach sat-by-coalitions kind: ncs-classification-model format_version: 1 boundaries: @@ -181,7 +181,7 @@ It should produce a different kind of model, with the sufficient coalitions spec .. STOP .. START other-learnings/expected-minisat-separation-trained-model.yml - # Reproduction command (with lincs version 0.9.1): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.approach sat-by-separation + # Reproduction command (with lincs version 0.9.2-dev): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.approach sat-by-separation kind: ncs-classification-model format_version: 1 boundaries: diff --git a/lincs/__init__.py b/lincs/__init__.py index 2658c6bf..54887638 100644 --- a/lincs/__init__.py +++ b/lincs/__init__.py @@ -1,6 +1,6 @@ # Copyright 2023 Vincent Jacques -__version__ = "0.9.1" +__version__ = "0.9.2-dev" # I/O from liblincs import Criterion, Category, Problem