Keywords

1 Introduction

Kidneys are organs with multiple functions that include regulation of electrolyte and volume, excretion of nitrogenous waste and elimination of exogenous molecules (drugs), synthesis of a variety of hormones (erythropoietin), metabolism of low molecular weight proteins (insulin), etc. 1. They perform their function through three processes including glomerular filtration (glomerulus), active tubular excretion and active and passive tubular reabsorption (tubules) 2.

Chronic kidney disease (CKD) is a serious health problem in the world with possible unfortunate outcomes such as kidney failure and premature death. In addition to urea and creatinine from the blood, the two most important indicators of kidney disease are eGFR (estimated glomerular filtration rate) and urinary albumin. At the very beginning of kidney disease, there are often no clear signs or symptoms, but it can be detected by simple laboratory tests - determination of protein in the urine and urate, urea and creatinine in the blood. As the disease progresses, other signs appear such as swollen ankles, fatigue, difficulty concentrating, decreased appetite and an unusual appearance of urine.

Over 850 million people, according to statistics, suffer from chronic kidney disease, acute renal injury (AKI) or are on renal replacement therapy (RTT), which is a worrying figure since it exceeds the number of people with diabetes. The risk of the disease is almost equal in women and men 3. People with diabetes are especially susceptible to developing kidney disease. Therefore, they should be checked regularly.

In the age of 4th industrial revelution, the health sector is one of the areas where artificial intelligence has already begin to play a significant role in improving the existing systems and processes. Already, intelligent systems which a large amount of data such as: diagnostic images, laboratory tests and medical records have been developed and are aiding medical professionals in the everyday activities. Research in this field is one of the most productive ones nowadays. Application of different techniques is being investigated, such as artificial neural networks (ANNs) and machine learning (ML) algorithms.

For instance, Sarić et al. [4] suggest usage of ANNs implemented on FPGA for epileptic seizure classification. Implementation of these systems is not uncommon for genetic testings as well. Catic et al. [5] have developed neural network for classification of prenatal syndroms based on parameters that can be acquired non-invasively from the pregnant woman. Successful implementation of ANNs for diagnosis of other conditions and diseases can be seen in healthcare sector [6,7,8,9]. Researchers have investigated application of these tools for detection and classification of chronic kidney disease and other pathological conditions associated with the urinary system [10]. Certain artificial intelligence techniques have made it possible to detect kidney stones, based on the results of laboratory tests such as creatinine, uric acid, glucose, lymphocytes and other blood components. Neural networks and other machine learning techniques have also been applied to identify the stage of chronic kidney disease. Some research suggests a neural network model to detect CKD from patient laboratory data, as well as comparisons with other machine learning models 10.

The aim of this research is to develop artificial neural network for prediction of renal function based on diagnostic parameters that can be easily collected within healthcare environment. The goal for such system is to serve as an aid in the early detection and prevention of chronic kidney disease, especially in rural and remote areas where clinical specialist isn’t available.

2 Methods and Materials

For the development of an artificial neural network, database of clinical parameters related to occurence of chronic kidney disease was used. Each sample in the database consisted of information about five input parameters for each patient, and those parameters are: (1) creatinine clearance (ml/min) (2) urea (g/h) (3) albumin (mg/h) (4) glucose (mmol/L) and (5) cystatin C (mg/l). Table 1. shows the values of the mentioned parameters for healthy patients. Increased values of these clinical parameters in blood and urine, indicate acute and/or chronic kidney disease and urinary tract obstruction.

Table 1. Parameters for prediction of renal function

The data set for this study consisted of 400 subjects, out of overall number, 200 samples were for class of patients with chronic kidney disease and 200 for the healthy class of patients. As indicated in Table 2, in first group, 107 were men with an average age of 43, and the remaining 93 were women with an average age of 41. The rest of the patients were from the control group, 98 of them were male with average age of 42, and 102 female with average age of 43 years.

Table 2. Properties of the dataset used for development of artificial neural network

The distribution of the dataset for development of the Artificial Neural Network (ANN) is presented in Table 3. Since this is relatively small dataset, distribution of 70:30% for training and validation was used [11].

Table 3. Dataset distribution

Artificial Neural Network (ANN) was developed in order to perform prediction of renal diseases based on diagnostic parameters. Developed ANN has 7 input parameters: gender, age, creatinine clearance (ml/min), urea (g/h), albumin (mg/h), glucose (mmol/L) and cystatin C (mg/l). The ANN performs classification of samples into two classes: healthy and patients with renal disease.

For the development of the ANN in this research, standard architecture for pattern recognition was used. That is feedforward neural network which consists of two-layers. This architecture is designed since according to the application experts, that kind of ANN is sufficient to properly perform the classification of input data [12].

The input layer is made of network inputs. Input layer is followed by a hidden layer which consists of parallely connected neurons. The network was tested on training performance with different number of neurons. Since, this classification is basically highly non-linear data classification, sigmoid function was used for hidden layer [13].

During the design of the network, different number of neurons was used in order to measure the performance. According to the Mean Square Error (MSE), appropriate number of neurons was chosen. After training, validation of the network performance was done using confusion matrix.

According to these results, specificity, sensitivity and accuracy of the network are calculated according to Eqs. (1) (2) (3):

$$ senstivity = \frac{true\,positive}{(true\,positive + false\,negative)} $$
(1)
$$ specificity = \frac{true\,negative}{(true\,negative + false\,positive)} $$
(2)
$$ accuracy = \frac{true\,negative + true\,positive}{(true\,negative + true\,positive + false\,negative + false\,positive)} $$
(3)

3 Results

According to previous research and expert recommendation [4,5,6,7,8, 12, 14,15,16], for classification of renal diseases in this paper, two-layer feedforward artificial neural network, with sigmoid transfer function in hidden layer was developed.

Accuracy of training for feedforward neural network with 2 neurons and sigmoid transfer function in hidden layer was 84.3%. Training was performed using Levenberg – Marquadt training algorithm. Training performance of the developed neural network is presented in the Fig. 1.

Fig. 1.
figure 1

Training performance of the network with 2 neurons in hidden layer

The validation of performance of feedforward neural network with 2 neurons and sigmoid transfer function in hidden layer is presented in Table 4.

Table 4. Artificial neural network performance in classification

Accuracy of training for feedforward neural network with 5 neurons and sigmoid transfer function in hidden layer was 88.2%. Training was performed using Levenberg – Marquadt training algorithm. Training performance of the developed neural network is presented in the Fig. 2.

Fig. 2.
figure 2

Training performance of the network with 2 neurons in hidden layer

The validation of performance of feedforward neural network with 2 neurons and sigmoid transfer function in hidden layer is presented in Table 5.

Table 5. Artificial neural network performance

Accuracy of training for feedforward neural network with 15 neurons and sigmoid transfer function in hidden layer was 92.3%. Training was performed using Levenberg – Marquadt training algorithm. Training performance of the developed neural network is presented in the Fig. 3.

Fig. 3.
figure 3

Training performance of the network with 10 neurons in hidden layer

The validation of performance of feedforward neural network with 10 neurons and sigmoid transfer function in hidden layer is presented in Table 6.

Table 6. Artificial neural network performance

Since the training and validation performance of neural network with 15 neurons in hidden layer was the highest this neural network architecture is suggested for the usage for prediction of renal disease.

Using this expert system at primary healthcare level, based on basic diagnostic parameters there is above 80% chance that patient will be diagnosed correctly. This is promising results, since such expert system can be used as an aid to healthcare professional at primary healthcare level in situations when medical specialist is not available.

4 Conclusion

Chronic kidney disease is a serious health problem that can be predicted by Artificial Intelligence. Artificial Neural Network (ANN) was developed in order to perform prediction of renal disease based on diagnostic parameters: creatinine clearance (ml/min), urea (g/h), albumin (mg/h), glucose (mmol/L) and cystatin C (mg/l).

Training and validation performance of neural network with 15 neurons in hidden layer is suggested for the usage for prediction of renal disease.

Using this expert system at primary healthcare level, based on basic diagnostic parameters, indicate that there is above 80% chance that patient will be diagnosed correctly.