Skip to content

Commit

Permalink
Publish version 0.11.0
Browse files Browse the repository at this point in the history
  • Loading branch information
jacquev6 committed Nov 15, 2023
1 parent 43b721b commit 7e3f052
Show file tree
Hide file tree
Showing 46 changed files with 865 additions and 664 deletions.
14 changes: 14 additions & 0 deletions doc-sources/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,20 @@
Changelog
=========

Version 0.11.0
==============

- **Breaking** Rename ``category_correlation`` to ``preference_direction`` in problem files
- **Breaking** Rename the ``growing`` preference direction to ``increasing`` in problem files
- **Breaking** Rename the ``categories`` attribute in problem files to ``ordered_categories`` in problem files
- Make names of generated categories more explicit ("Worst category", "Intermediate category N", "Best category")
- Support ``isotone`` (resp. ``antitone``) as a synonym for ``increasing`` (resp. ``decreasing``) in problem files
- Add ``lincs describe`` command to produce human-readable descriptions of problems and models
- **Remove** comments about termination conditions from learned models, but:
- Add ``--mrsort.weights-profiles-breed.output-metadata`` to generate in YAML the data previously found in those comments
- Provide a Jupyter notebook to help follow the "Get Started" guide (and use Jupyter for all integration tests)
- Document the "externally managed" error on Ubuntu 23.4+

(In versions below, the term "category correlation" was used instead of "preference direction".)

Versions 0.10.0 to 0.10.3
Expand Down
2 changes: 1 addition & 1 deletion doc-sources/conceptual-overview/conceptual-overview.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-dev): lincs classify problem.yml model.yml alternatives.csv\n",
"# Reproduction command (with lincs version 0.11.0): lincs classify problem.yml model.yml alternatives.csv\n",
"name,Math,Physics,Literature,History,category\n",
"A,1,1,1,1,\"Full scholarship\"\n",
"B,1,1,1,0,\"Full scholarship\"\n",
Expand Down
8 changes: 4 additions & 4 deletions doc-sources/get-started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ So, start by generating a classification problem with 4 criteria and 3 categorie

The generated ``problem.yml`` should look like::

# Reproduction command (with lincs version 0.10.4-dev): lincs generate classification-problem 4 3 --random-seed 40
# Reproduction command (with lincs version 0.11.0): lincs generate classification-problem 4 3 --random-seed 40
kind: classification-problem
format_version: 1
criteria:
Expand Down Expand Up @@ -132,7 +132,7 @@ Then generate an NCS classification model::

It should look like::

# Reproduction command (with lincs version 0.10.4-dev): lincs generate classification-model problem.yml --random-seed 41 --model-type mrsort
# Reproduction command (with lincs version 0.11.0): lincs generate classification-model problem.yml --random-seed 41 --model-type mrsort
kind: ncs-classification-model
format_version: 1
accepted_values:
Expand Down Expand Up @@ -199,7 +199,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.10.4-dev): lincs generate classified-alternatives problem.yml model.yml 1000 --random-seed 42 --misclassified-count 0
# Reproduction command (with lincs version 0.11.0): 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,"Best category"
"Alternative 2",0.731993914,0.779690981,0.598658502,0.596850157,"Intermediate category 1"
Expand Down Expand Up @@ -237,7 +237,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.10.4-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
# Reproduction command (with lincs version 0.11.0): 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
kind: ncs-classification-model
format_version: 1
accepted_values:
Expand Down
8 changes: 4 additions & 4 deletions doc-sources/get-started/get-started.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-dev): lincs generate classification-problem 4 3 --random-seed 40\n",
"# Reproduction command (with lincs version 0.11.0): lincs generate classification-problem 4 3 --random-seed 40\n",
"kind: classification-problem\n",
"format_version: 1\n",
"criteria:\n",
Expand Down Expand Up @@ -126,7 +126,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-dev): lincs generate classification-model problem.yml --random-seed 41 --model-type mrsort\n",
"# Reproduction command (with lincs version 0.11.0): lincs generate classification-model problem.yml --random-seed 41 --model-type mrsort\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down Expand Up @@ -216,7 +216,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-dev): lincs generate classified-alternatives problem.yml model.yml 1000 --random-seed 42 --misclassified-count 0\n",
"# Reproduction command (with lincs version 0.11.0): lincs generate classified-alternatives problem.yml model.yml 1000 --random-seed 42 --misclassified-count 0\n",
"name,\"Criterion 1\",\"Criterion 2\",\"Criterion 3\",\"Criterion 4\",category\n",
"\"Alternative 1\",0.37454012,0.796543002,0.95071429,0.183434784,\"Best category\"\n",
"\"Alternative 2\",0.731993914,0.779690981,0.598658502,0.596850157,\"Intermediate category 1\"\n",
Expand Down Expand Up @@ -270,7 +270,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-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\n",
"# Reproduction command (with lincs version 0.11.0): 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\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down
2 changes: 1 addition & 1 deletion doc-sources/user-guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -473,7 +473,7 @@ And::

They produce a different kind of model, with the sufficient coalitions specified explicitly by their roots::

# Reproduction command (with lincs version 0.10.4-dev): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy sat-by-coalitions
# Reproduction command (with lincs version 0.11.0): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy sat-by-coalitions
kind: ncs-classification-model
format_version: 1
accepted_values:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-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 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\n",
"# Reproduction command (with lincs version 0.11.0): 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 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\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down
2 changes: 1 addition & 1 deletion doc-sources/user-guide/gpu-learning/gpu-learning.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-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 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\n",
"# Reproduction command (with lincs version 0.11.0): 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 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\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down
4 changes: 2 additions & 2 deletions doc-sources/user-guide/sat-learning/sat-learning.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-dev): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy sat-by-coalitions\n",
"# Reproduction command (with lincs version 0.11.0): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy sat-by-coalitions\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down Expand Up @@ -58,7 +58,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-dev): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy max-sat-by-separation\n",
"# Reproduction command (with lincs version 0.11.0): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy max-sat-by-separation\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down
8 changes: 4 additions & 4 deletions doc-sources/user-guide/synthetic-data/synthetic-data.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-dev): lincs generate classification-problem 4 3 --random-seed 57\n",
"# Reproduction command (with lincs version 0.11.0): lincs generate classification-problem 4 3 --random-seed 57\n",
"kind: classification-problem\n",
"format_version: 1\n",
"criteria:\n",
Expand Down Expand Up @@ -63,7 +63,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-dev): lincs generate classification-model problem.yml --random-seed 58 --model-type mrsort\n",
"# Reproduction command (with lincs version 0.11.0): lincs generate classification-model problem.yml --random-seed 58 --model-type mrsort\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down Expand Up @@ -101,7 +101,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-dev): lincs generate classified-alternatives problem.yml model.yml 100 --random-seed 59 --misclassified-count 0\n",
"# Reproduction command (with lincs version 0.11.0): lincs generate classified-alternatives problem.yml model.yml 100 --random-seed 59 --misclassified-count 0\n",
"name,\"Criterion 1\",\"Criterion 2\",\"Criterion 3\",\"Criterion 4\",category\n",
"\"Alternative 1\",0.924035132,0.804616809,0.157870576,0.637420833,\"Best category\"\n",
"\"Alternative 2\",0.866915047,0.979161799,0.0841569453,0.397855282,\"Best category\"\n",
Expand Down Expand Up @@ -224,7 +224,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 0.10.4-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 60 --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\n",
"# Reproduction command (with lincs version 0.11.0): 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 60 --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\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down
2 changes: 1 addition & 1 deletion docs/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 21415a206eb54523072fadedfdf8571f
config: b8cf68fa18ac3570036bef5ce646b33b
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file modified docs/.doctrees/changelog.doctree
Binary file not shown.
Binary file modified docs/.doctrees/conceptual-overview.doctree
Binary file not shown.
Binary file modified docs/.doctrees/contributor-guide.doctree
Binary file not shown.
Binary file modified docs/.doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/.doctrees/get-started.doctree
Binary file not shown.
Binary file modified docs/.doctrees/reference.doctree
Binary file not shown.
Binary file modified docs/.doctrees/user-guide.doctree
Binary file not shown.
4 changes: 2 additions & 2 deletions docs/README.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />

<title>Contributors &#8212; lincs 0.10.3 documentation</title>
<title>Contributors &#8212; lincs 0.11.0 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=4f649999" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=039e1c02" />
<link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=eafc0fe6" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=cdbb1c5d"></script>
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=8b96dc6e"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
<link rel="index" title="Index" href="genindex.html" />
Expand Down
Loading

0 comments on commit 7e3f052

Please sign in to comment.