# Recommendation Algorithm Based on Survival Action Rules
## 2 Related Work  
The approach presented in this article is based on survival analysis, action rules, and, to some extent, a novel technique for interpreting machine learning models--counterfactual explanations. Survival analysis is used to study processes in which the time that elapses before a particular event occurs is of interest. It is based on statistical and machine learning methods. Statistical methods use a univariate approach to assess the impact of a single factor on a process [5; 6]. Multivariate statistical methods, on the other hand, take into account more than one factor and allow the strength of the impact of each factor to be determined [7]. Statistical methods can be further classified into non-parametric approaches, such as Kaplan-Meier survival curves [8] or the log-rank test [9]; semi-parametric approaches, such as the Cox regression model [10]; and parametric approaches, including proportional hazard models [11]. Machine learning methods used in survival analysis include [12]: decision trees [13; 14; 15], survival rules [16; 17], support vector machines [18; 19], neural networks [20; 21], and Bayesian networks [22; 23]. Ensemble methods have also been proposed for survival data analysis, such as random forests [24; 25] and gradient boosting [25; 26]. Recently, several deep neural network architectures have been proposed for analyzing survival data [27; 28; 29; 30]. To date, only [PERSON] et al. [2] have addressed the challenge of action rule mining for survival analysis. In contrast, there are numerous methods for applying action rules to classification problems. The concept of action rules for classification was first introduced by [PERSON] and [PERSON] in [31]. They proposed a rough set-based approach that generated rules using reducts and then created action rules based on them. The rough set-based method was also employed by [PERSON] and [PERSON] in the DEAR system [32; 33]. Generally, two approaches are commonly used for action rule learning. The first approach involves inducing classification rules first and then deriving action rules based on these rules. This category includes the previously mentioned rough set-based methods. In the latter approach, action rules are generated directly from data. The direct induction of action rules is based on a priori-like algorithms [34; 35; 36], heuristic strategies [1; 37; 38], or evolutionary strategies [39; 40]. In most cases, the aforementioned approaches to action rule learning cannot efficiently handle large datasets. To address this problem, some authors have proposed distributed, partition-based methods. [PERSON] et al. [41] focus on vertical (i.e., by columns) data splitting using information granules. [PERSON] and [PERSON] [42] utilize vertical partitioning based on attribute correlation. [PERSON] et al. [43] use both vertical and horizontal (i.e., by rows) data partitions. It is worth noting that decision trees [44; 45; 46] and decision tree ensembles [47; 48] have also been used for action and recommendation mining. Works such as [49; 50] focus on measuring the expected effects of interventions (actions) suggested by decision rules. A methodology similar to our approach is the counterfactual explanation. This is an example-based explainability technique used to explain a particular outcome of a machine learning model. The task of counterfactual explanations is to identify the necessary changes that would change the model's decision. Counterfactual explanations provide a post hoc interpretation of a particular decision made by machine learning models. [PERSON] et al. [51] defined the counterfactual explanation problem as an optimization problem with two criteria. The loss function measures the following: the distance between the model prediction for the counterfactual \(x^{\prime}\) and the desired outcome \(y^{\prime}\), as well as the distance between the instance to be explained and its counterfactual outcome. [PERSON] et al. [52] consider additional criteria, such as the number of features to be changed.