# Comparison of Profit-Based Multi-Objective Approaches for Feature Selection in Credit Scoring
## 3 Methods
### Non-Dominated Binary Grasshopper Optimization Algorithm (NSBGOA)  
NSBGOA is a hybrid meta-heuristic proposed to handle multi-objective feature selection [13]. It adapts the Grasshopper Optimization Algorithm (GOA) [32], a swarm intelligence based optimizer that models the behavior of grasshoppers in a swarm. Each individual grasshopper's position is a possible solution, and the velocity of the individual grasshoppers as they attempt to swarm into the so-called \"comfort zone\" is updated with each iteration. This velocity is a function of their social interaction and movement towards the target. ```
Initialize reference points Initialize population, \(P_{0}\), of size N whilestop criterion not satisfied do \(S_{t}=\varnothing\), i =1 \(Q_{t}=\) selection, crossover, mutation, recombination of \(P_{t}\) \(R_{t}=Q_{t}\cup P_{t}\) (\(F_{1}\), \(F_{2}\),... ) = Non dominated sorting (\(R_{t}\)) while\(|S_{t}|<N\)do \(S_{t}=S_{t}\cup F_{i}\) \(i=i+1\) endwhile \(F_{1}=F_{i}\) (\(F_{1}\) last front included) if\(|St|=N\)then \(P_{t+1}=S_{t}\) else \(P_{t+1}=\cup_{j=1}^{1-1}F_{j}\)  Individuals to be chosen K = N - \(|\)\(P_{t+1}\) :  Normalize objectives  Associate each member s of \(S_{t}\) with a reference point  Compute niche count of reference point  Choose K members chosen one at a time from \(F_{1}\) to obtain \(P_{t+1}\) endif endwhile
```  
**Algorithm 2** Pseudo code for NSGA-III. Algorithm for NSGA-III  
For feature selection, the continuous GOA algorithm is converted to a binary GOA by introducing the sigmoidal transfer function of Equation (4) [10]. The velocity, \(\Delta X\), is adapted to Equation (5), where \(d_{ij}\) is the distance between two grasshoppers, the function \(s\) is the strength of the social forces, parameter \(c\) decreases the comfort zone with each iteration, and \(ub_{d}\) and \(ib_{d}\) are the upper bound and lower bound in the \(d\)th dimension. Equation (6) gives the \(d\)th dimension of a grasshopper in the next iteration. Additionally, non-dominated sorting is integrated into the algorithm to allow for comparison of multiple objectives. This results in the algorithm of Algorithm 3. \[T(\Delta X_{t})=\frac{1}{1+e^{-\Delta X_{t}}} \tag{4}\]  
\[\Delta X=c_{1}\left( \begin{array}{c}\sum_{j=1}^{N}\ c_{2}\frac{ub_{d}-lb_{d} }{2}\ s\Big{(}\Big{|}x_{j}^{d}-x_{i}^{d}\Big{|}\Big{)}\frac{x_{j}-x_{i}}{d_{ ij}}\\ j\
eq i\end{array} \right) \tag{5}\]  
\[X_{t+1}^{d}=\left\{ \begin{array}{l}1\ if\ r<T(\Delta X_{t+1}^{d})\\ 0\ if\ r\geq T(\Delta X_{t+1}^{d})\end{array} \right. \tag{6}\]```
Input: \(\bullet\) Population size, N \(\bullet\) maxIter Steps T = 0 \(\mathrm{G_{t}}\) = Initialize grasshopper positions \(\mathrm{P_{t}}\) = \(\mathrm{G_{t}}\) F \(\mathrm{F_{t}}\) = Fitness wvaluation of population, \(\mathrm{P_{t}}\) bestFront\(\mathrm{b}\), fitnessOfBestFront\(\mathrm{t}\) = non-dominated sorting of \(\mathrm{P_{t}}\) and \(\mathrm{F_{t}}\) whilet < maxIter do:  Update c for grasshopper in \(\mathrm{G_{t}}\)  normalize the distances between grasshoppers in References [1,4] \(\mathrm{G_{t}}\) = compute and update new grasshopper positions \(\mathrm{P_{t}}\) = \(\mathrm{G_{t}}\) F \(\mathrm{F_{t}}\) = evaluate fitness of population, \(\mathrm{P_{t}}\) bestFront\(\mathrm{t}\), fitnessOfBestFront\(\mathrm{t}\) = non-dominated sorting of \(\mathrm{P_{t}}\) and \(\mathrm{F_{t}}\) \(\mathrm{Z_{t}}\) = Sort \(\mathrm{P_{t}}\) by position on fronts \(\mathrm{G_{t+1}}\) = \(\mathrm{\O}\)  i = 1 while i <= N do: \(\mathrm{G_{t+1}}\) = \(\mathrm{G_{t+1}}\) \(\cup\) ith member of \(\mathrm{P_{t}}\)  i = i + 1 endwhile  bestFront\(\mathrm{t_{t+1}}\), fitnessOfBestFront\(\mathrm{t_{t+1}}\) = non-dominated sorting of \(\mathrm{G_{t+1}}\) and \(\mathrm{F_{t}}\)  t = t + 1 endwhile S = bestFront Output \(\bullet\) set of non-dominated solutions, S
```

**Algorithm 3** Pseudo code for NSBGOA. Algorithm for NSBGOA

### Expected Maximum Profit (EMP)

Expected maximum profit (EMP), the maximum profit obtainable, is a profit-based metric [18] that is applicable to credit scoring.