## 2 Machine Learning  
Decision trees belong to the widely used machine learning methods that find their application in both classification and regression tasks. In principle, it is a hierarchical, multi-stage binary decision-making system in which the fulfillment/non-fulfillment (if/else) of decision criteria or conditions is gradually evaluated until we reach an accepted class or solution [10]. The decision-making process proceeds from the root of the tree gradually through the individual nodes, which form the branches of the tree with leaves. Although there are several different types of decision trees, the creation of tree structures is mostly governed by the fact that the decision criteria in the individual nodes are arranged according to information importance [11]. The flag or criterion that has the most weight and allows to best separate the input data into two binary classes (yes/no) becomes the root of the tree. The other nodes are gradually made up of the remaining criteria with less weight, with each node creating two binary descendants. The decision-making process follows the individual branches of the tree until we reach the required class or solution (leaf) [12]. The decision tree algorithm method is used to solve regression and classification problems [13]. The result of using a decision tree is an educational model that can be used to predict the value or class of the resulting variable using the way individual learning rules derived from the training data are learned [14]. These rules generally represent training on a specific set of data that the system already knows. It should be noted that a set of training data is needed to train this algorithm. This is made up of several cases \(P\) = {\(P_{1}\), \(P_{2}\),..., \(P_{n}\)}, each of which is predefined by a vector with \(k\) elements of the tested properties, i.e., the output of the variables \(X\) = {\(X_{1}\), \(X_{2}\),..., \(X_{n}\)}, which can be expressed either by number  
Figure 1: Example of hybrid FSO/RF system. or word. A decision tree is a tree-structured classifier, where internal nodes represent the properties of a data set, branches represent decision rules, and each leaf node represents a result. There are two nodes in the decision tree, which are the decision node and the leaf node. Decision nodes are used for any decision and have multiple branches, while leaf nodes are the output of these decisions and do not contain any other branches. Decisions or testing is made based on the characteristics of the data set [15]. \[P= \begin{bmatrix}x_{11}&x_{12}&\ldots&x_{1k}&y_{1}\\ x_{21}&x_{22}&\ldots&x_{2k}&y_{2}\\ \ldots&\ldots&\ldots&\ldots&\ldots\\ x_{n1}&x_{n2}&\ldots&x_{nk}&y_{n}\end{bmatrix}  \tag{1}\]  
When creating a decision tree, the set of input training data is divided into subsets that characterize the input variables in the next steps. In the division process, recursion is used until the termination condition is met. In the analysis of the atmospheric channel for the hybrid FSO/RF system, a system of input cases (variables) \(X\) was extensively designed together with the corresponding variables \(y\), which are at the output. For hybrid FSO/RF systems, the output variable \(y\) is the RSSI value, based on which the transmission lines are switched. The training matrix of the input variables is shown below. \[X= \begin{bmatrix}TL_{1}&TE_{1}&KC_{1}&V_{1}&VL_{1}&\ldots&RV_{1}\\ TL_{2}&TE_{2}&KC_{2}&V_{2}&VL_{2}&\ldots&RV_{2}\\ \ldots&\ldots&\ldots&\ldots&\ldots&\ldots&\ldots\\ TL_{n}&TE_{n}&KC_{n}&V_{n}&VL_{n}&\ldots&RV_{n}\end{bmatrix}  \tag{2}\]  
The individual columns represent the measured values using the weather monitoring station. _TL_ is barometric pressure [hPa], _TE_ represents air temperature [\({}^{\circ}\)C], _KC_ represents particle concentration [mg/m\({}^{3}\)], \(V\) is visibility [m], _VL_ represents ambient humidity [%], and _RV_ is wind speed [m/s]. The matrix of the output variable \(y\) (target) represents the received optical power.