Skip to content

Valdecy/ELECTRE-Tree

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ELECTRE-Tree

  1. Draft: https://arxiv.org/abs/2007.10047
  2. Article: https://www.emerald.com/insight/content/doi/10.1108/DTA-10-2020-0256/full/html
  3. Try it in Colab: ( Colab Demo )

ELECTRE-Tree Algorithm to infer the ELECTRE Tri-B method parameters. The function returns: 1) A list of optimized sub-models that can be used to vote the allocation of alternatives (assign to a class) or can infer the ELECTRE Tri-B parameters using the average.


"tree_electre_tri_b" arguments

  • dataset = A numpy array where the rows are the alternatives and columns are the criteria.

  • target_assignment = Optional argument. A list of previous allocation (labels) of alternatives that the algorithm will try to follow (classification problem). The default value is [].

  • W = Optional argument. A list of weights for each criterion indicated by the decision maker. The default value is [], meaning that the algorithm will try to optimize this parameter.

  • Q = Optional argument. The indifference threshold list indicated by the decision maker. The default value is [], meaning that the algorithm will try to optimize this parameter.

  • P = Optional argument. The preference threshold list indicated by the decision maker. The default value is [], meaning that the algorithm will try to optimize this parameter.

  • V = Optional argument. The veto threshold list indicated by the decision maker. The default value is [], meaning that the algorithm will try to optimize this parameter.

  • cut_level = Optional argument. The list of possibles cut level values indicated by the decision maker. The default value is [0.5, 1.0], meaning that the algorithm will try to optimize this parameter with a value from 0.5 to 1.

  • rule = Decides if the allocation rule is pessimist 'pc' or optimist 'oc'. The default values is 'pc'.

  • number_of_classes = An integer that indicate the total number of classes of the problem. The default value is 2.

  • elite = The quantity of best indivduals to be preserved in the genetic algorithm. The quantity should be low to avoid being traped in local otima. The default value is 1.

  • mutation_rate = Chance to occur a mutation operation in the genetic algorithm. The default value is 0.01

  • eta = Value of the mutation operator used in the genetic algorithm. The default value is 1.

  • mu = Value of the breed operator used in the genetic algorithm. The default value is 2.

  • population_size = The population size used in the genetic algorithm. The default value is 15.

  • generations = The total number of iterations used in the genetic algorithm. The default value is 150.

  • samples = The percentage of the number of alternatives (randomly selected) used in each submodel. The default value is 0.10.

  • number_of_models = The total number of generated sub-models. The defaul value is 100.


"predict" arguments

  • models = A list of optimized sub-models generated by the "tree_electre_tri_b" function.

  • dataset = A numpy array where the rows are the alternatives and columns are the criteria.

  • verbose = Prints the prediction for each alternative. The default value is True.

  • rule = Decides if the allocation rule is pessimist 'pc' or optimist 'oc'. The default values is 'pc'.


"metrics" arguments. Returns the inferred parameters.

  • models = A list of optimized sub-models generated by the "tree_electre_tri_b" function.

  • number_of_classes = An integer that indicate the total number of classes of the problem. The default value is 2.


"plot_decision_boundaries" arguments

  • data = A numpy array where the rows are the alternatives and columns are the criteria.

  • models = A list of optimized sub-models generated by the "tree_electre_tri_b" function.

Other MCDA Methods:

  • pyDecision - A library for many MCDA methods
  • pyMissingAHP - A Method to Infer AHP Missing Pairwise Comparisons
  • 3MOAHP - Inconsistency Reduction Technique for AHP and Fuzzy-AHP Methods
  • Ranking-Trees - Algorithm to infer the ELECTRE II, III, IV and PROMETHEE I, II, III, IV method parameters

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages