The main module where everything is.
Todo
In methods that adds criteria, criteria names and weights should be a dictionary
Better terminology overall; improve parameter names
Better name for adding criteria values and their scores for continuous criteria. They should start with the word ‘add’
Better name for ‘add_data’
Warning
Avoid nonsensical values for all floats, such as nan, inf, and extremely large numbers that can cause an overflow in numpy.
Matrix(*choices, **kwargs)
Matrix
Matrix.__repr__()
Matrix.__repr__
Provides a view to the final decision matrix
Matrix.criteria
The names of the criteria that are not added as continuous.
Matrix.all_choices
Returns a view of the current choices in the matrix
Matrix.all_criteria
Returns a view of the current criteria in the matrix
Matrix.add_choices(*choices)
Matrix.add_choices
Add items to choose from into the matrix.
Matrix.add_criteria(*criteria, weights, …)
Matrix.add_criteria
Add multiple criteria into the matrix to evaluate each choice against.
Matrix.add_continuous_criteria(*criteria, …)
Matrix.add_continuous_criteria
Add multiple continuous criteria into the matrix to evaluate each choice against.
Matrix.add_criterion(criterion, *, weight, …)
Matrix.add_criterion
Add a criterion into the matrix to evaluate each choice against.
Matrix.add_continuous_criterion(criterion, …)
Matrix.add_continuous_criterion
Add a continuous criterion into the matrix to evaluate each choice against.
Matrix.rate_criterion(criterion, …)
Matrix.rate_criterion
Given a criterion, assign ratings (dictionary values) to given choices (dictionary keys).
Matrix.rate_choice(choice, **criteria_to_ratings)
Matrix.rate_choice
Given a choice, assign ratings (dictionary values) to given criteria (dictionary keys).
Matrix.rate_choices(…)
Matrix.rate_choices
Given some choices, assign ratings (dictionary values) to given criteria (dictionary keys).
Matrix.if_(**criterion_to_value)
Matrix.if_
The first method in the if-then chain syntatic sugar for declaring what score should a choice receive given the values for the criterion.
Matrix.then(*, score)
Matrix.then
The last method in the if-then chain syntatic sugar for declaring what score should a choice receive given the values for the criterion.
Matrix.criteria_values_to_scores(…)
Matrix.criteria_values_to_scores
For multiple continuous criteria, declare what score should a choice receive given values for that criterion.
Matrix.values_to_score_from_record(…)
Matrix.values_to_score_from_record
Matrix.criterion_value_to_score(…)
Matrix.criterion_value_to_score
Declare what score should a choice receive for a continuous criterion, given the values for that criterion.
Matrix.add_data(choice, values_dict, …)
Matrix.add_data
Adds criterion data for the given choice, which is used to calculate their score.
Matrix.batch_add_data(choices_and_values, …)
Matrix.batch_add_data
For multiple choices, add criterion data.
Matrix.update_weight(criterion, weight)
Matrix.update_weight
Update the weight of a given criterion
Matrix.rename_criteria(criterion, name, …)
Matrix.rename_criteria
Update the name of a given criterion
Matrix.rename_choices(choice, name, …)
Matrix.rename_choices
Update the name of a given choice
Matrix.update_rating(choice, criterion, rating)
Matrix.update_rating
Update the rating given to the choice in the criterion
Matrix.update_criterion_value_to_score(…)
Matrix.update_criterion_value_to_score
Update the value and/or score pair of a given continuous criterion
Matrix.remove_criterion_value_to_score(row)
Matrix.remove_criterion_value_to_score
Remove a criterion value-score pair by row/index number.
Matrix.plot()
Matrix.plot
Visualise the percentages of all choices.
Matrix.plot_interpolator(criterion_name[, …])
Matrix.plot_interpolator
Visualize the interpolator function used.