# Classification of Logging Data Using Machine Learning Algorithms
## 3 Method
### Data Preprocessing  
Using one of Kazakhstan's uranium ore field's 1000 exploration wells with core sampling, we performed log data processing tasks. We manually created a special set of wells for ROZ studies, selected input features, and generated floating data windows for each  
Figure 2: Well log data processing and classification quality assessment. well. We split the set of wells into training, test, and validation sets and used them in a loop of machine learning model selection and evaluation. We applied the best model to interpret the validation dataset and to display the results. We made a special dataset for ROZ and lithology classification from one of Kazakhstan's uranium ore deposit's wells, with three classes of wells: 42 wells without ROZ (LOW_ROZ), 84 wells with ROZ of 5-50% of the ore-bearing horizon (MEDIUM ROZ), and 42 wells with ROZ of more than 50% of the ore-bearing horizon (HI_ROZ). We used AR (Ohm*m); SP (mV); GR (uR*h) log data for each well, recorded in 10 cm steps; lithologic intervals (upper boundary, rock code, permeability code, filtration coefficient, lower boundary); and wellhead coordinates (X, Y, Z) for the analysis. Since the rocks' physical properties (especially the AR recording level) change significantly in different stratigraphic horizons, we used only logging data within one horizon (ore-bearing horizon number 2). We identified the ROZ zones in exploratory wells through lab studies and marked them with a geochemical code of 8. We used these indicators from several tables of well logging data for further processing. Therefore, the dataset utilizes 24 input variables and two types of target variables, applied separately depending on the problem to be solved. Input values [19]:  
RP--ore intersection (value 2 is used for ore-bearing horizon);  
Sn--well number (used only at the stage of data input and search for the nearest wells);  
Depth--depth of 10 cm measurement zone (m);  
GR--gamma ray log (uR/h);  
AR--apparent resistance (Ohm*m);  
SP--spontaneous polarization potential (mV);  
X, Y, Z--well coordinates. Target values:  
lit--rock type by permeability (target value 1) (1--permeable rocks, 2--impermeable rocks, 8--oxidized rocks (ROZ));  
LIT1--lithologic code (target value 2);  
LIT2--geochemical type of rock. The target variable \"lit\" is used to solve the problem of reservoir oxidation zone identification. The variable LIT1 can be used to solve the problem of lithological classification. Lithological type codes (class numbers) are given in Table 3.  
The input data are reformatted as floating data windows [16,18] (Figure 3). \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Code** & **Rock Name** & **AR (Ohm*m)** & **Filtration Coefficient (m/Day)** \\ \hline
1 & gravel, pebbles & medium & 12–20 \\ \hline
2 & coarse sand & medium & 8–15 \\ \hline
3 & medium-grained sand & medium & 5–12 \\ \hline
4 & fine-grained sand & medium & 1–7 \\ \hline
5 & sandstones & high & 0–0.1 \\ \hline
6 & silt, siltstone & low & 0.8–1 \\ \hline
7 & clay & low & 0.1–0.8 \\ \hline
8 & gypsum, dolomite & high & 0–0.1 \\ \hline
9 & carbonate rocks & high & 0–0.1 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Characteristics of the main lithological types of sandstone-type uranium deposits. Using floating data windows allows for increasing the size of the input data vector by a multiple of the window size. For example, if the size of the input vector is \(n=11\), then using a window of size h = 3 gives the model input vector n\({}^{\prime}\) = h*n (n\({}^{\prime}\) = 33). Training and test datasets were generated from the input data. At the same time, in order to avoid data leakage and, as a consequence, obtaining an overestimate of the classification quality, the training and test sets used the data from different wells. The dataset was divided into test and train sets in such a way that of the N wells available in a particular experiment, 0.1*N was the test set and 0.9*N was the train set. The resulting datasets are recorded in dumps for storage on a disk.