비점오염물질측정망의 탁도 예측을 위한 수질 인자를 이용한 최적 머신러닝 알고리즘 선정

Selection of the best fitted Machine Learning Algorithms for Turbidity Prediction using Water Quality Parameters in Non-point Source Pollution Monitoring Network

Article information

J Environ Anal Health Toxicol. 2024;27(4):249-256
Publication date (electronic) : 2024 December 31
doi : https://doi.org/10.36278/jeaht.27.4.249
Department of Environmental Engineering, Inha University, Michuhol-gu, Incheon, 22212, Korea
현제원, 김창균,
인하대학교 환경공학과
To whom correspondence should be addressed. Tel: 82-32-860-7561, Email: cgk@inha.ac.kr
Received 2024 September 30; Revised 2024 September 4; Accepted 2024 October 8.

Trans Abstract

This study was aimed to determine the best fitted machine learning model to predict the turbidity relative to water temperature, pH, EC, and DO data collected from non-point source pollution monitoring networks in case of missing data. Thus, K-NN, SVM, and Decision Tree were used to be trained. To assess the sensitivity on each algorithm to the scale of the monitoring data, both raw and normalized data sets were run. Additionally, hyperparameters were tuned to derive optimal values for each algorithm’s performance. K-fold cross-validation was employed to prevent overfitting. After tuning, the top 10 models with the highest NSE were evaluated using separate test data that was not involved in the tuning process. This allowed for further validation of the model performance using metrics such as NSE, MSE, RMSE, and MAE. The results indicated that Decision Tree algorithm achieved highest prediction accuracy followed by SVM and K-NN. Decision Tree was particularly well-suited for accurate turbidity prediction relative to other water quality monitoring data. Thus, machine learning techniques could be effectively used for predicting one of the water quality parameters when it will be partially missed or false recorded.

1. 서 론

하천 및 호수 등 수계로 유입되는 오염물질은 해당 유역의 하·폐수 배출시설 등의 점오염원, 혹은 토지 이용 및 강우에 의해 유출되는 비점오염원으로 구분된다. 현재 국가적으로 점오염원 및 비점오염원 관리를 위한 다양한 대책을 수립하고 노력하고 있지만, 하천 수질을 효과적으로 개선하기에는 여전히 미흡한 것으로 알려져 있다. 2018년 기준, BOD 배출부하량 비율은 점오염원이 32.3%, 비점오염원이 67.7%였으며, 2025년까지 비점오염원의 BOD 배출부하량은 2018년 배출부하량인 701톤/일에서 769톤/일로 9.7% 증가할 것으로 전망하고 있다[1-3].

한편 2006년 7월 태풍 에위니아로 인한 산사태 및 농경지 유실 등으로 인해 농경지와 축산시설 등에서 다량의 토사가 유입되어 소양 댐 상류에 위치한 호소내 탁도가 328NTU로 급격히 증가하였다. 그 이후에도 동일 수준의 탁도가 장기간 유지되어 한강의 수질이 악화되거나 생태계 교란이 발생하는 등 비점오염원로부터 유발된 탁수로 인한 환경 피해가 발생하고 있다[4].

정부는 강우에 의해 유출되는 비점오염물질의 실측자료 확보 및 추세파악과 결과를 활용하여 비점오염물질 정량화, 유출특성 파악 등을 위한 대책 마련에 고심하고 있다. 이러한 문제를 해결하기 위하여 환경부는 비점오염물질측정망에서 수집하는 수질 자동측정 항목을 10분마다 측정 기록하고 있으며, 해당 항목은 수온, pH, EC, DO, 탁도이고, 중권역 이상의 측정망에서는 T-N, T-P, TOC도 측정하도록 고시하고 있다. 또한, 수동 분석 시에는 SS, BOD, T-N, T-P, TOC를 측정하고 있다. 전국 31개의 비점오염물질측정망 중 12개의 측정망이 중권역 측정망으로 지정되어 있으며, 중권역 측정망은 자동 측정을 통해 오염물질의 변동에 대한 관측이 비교적 잘 이루어지고 있어 데이터의 신뢰성이 높다. 반면, 소권역 측정망에서는 직접적으로 오염정도를 확인할 수 있는 SS, BOD, T-N, T-P, TOC에 대한 데이터 확보를 수동 분석(평상시 36회 이상/년(평균 8일), 강우시 12회 이상(2시간 간격))에 의존하고 있어, 데이터 확보의 빈도가 낮고, 분석 시점이 제한적이므로 비점오염원의 정확한 오염 정도를 파악하는 데 한계가 존재한다[5].

기존 연구에 따르면 비점오염원에서 발생하는 수질 항목 중 탁도 항목과 SS, TP, COD, TOC 항목과의 상관성을 나타내는 결정계수(R2)가 0.5860~0.9658로 나타났으며, 탁도 데이터를 활용하여 수질 오염인자의 농도를 예측할 수 있을 것이다[6].

그러나, 비점오염물질측정망의 자동측정 데이터는 센서 오작동문제, 연결부위 폐색, 부유물 부착 등에 기인한 데이터 측정의 오류가 발생할 수 있다. 탁도의 경우 평균적으로 13.7%(4.0%~36.2%)의 이상치가 발생하는 것으로 조사되었으며, 특히, 유지관리에 따른 이상치 발생 비율은 평균 32.9%(3.2%~70.8%)로 조사되어 유지관리에 따른 이상치 발생비율이 다른 수질 항목에 비해 높은 것으로 보고되고 있다. 선행 연구에서는 이러한 이상치 및 결측치의 보완 방법으로 관측 직전 기측정 Data 대체, 관측 직후 기측정 Data 대체, 선형 일차식 및 다항식 대입 등을 통해 Data의 정확도를 보정하였으며 그 과정에서 선형 일차식 대입으로 보정한 탁도의 상관성(NSE, Nash-Sutcliffe efficiency)이 0.915로 가장 높게 나타났다[7].

따라서, 본 연구에서는 소권역 비점오염물질측정망의 수질 자동측정 항목 중 수온, pH, EC, DO 데이터를 활용하여 탁도를 예측하고자 하였다. 머신러닝 알고리즘 중 K 최근접 이웃(K-NN, K-Nearest Neighbor), 서포트 벡터 머신(SVM, Support Vector Machine), 의사결정 나무(DT, Decision Tree) 등을 활용하여 탁도 예측을 위한 최적의 알고리즘을 선정하였다.

2. 연구 방법

2.1. 대상지점 선정 및 측정 자료 수집

본 연구를 위하여 2018년부터 운영하고 있는 소권역 비점오염물질측정망 중 가장 많은 데이터를 축적하고 있는 삼천 측정소(N 35°50'08.7", E 127°06'24.5")에 대한 수질측정자료를 환경부의 비점오염원 관리 정보시스템(http://nonpoint.or.kr/)를 통하여 수집하였다(Fig. 1).

Fig. 1.

Network of national non-point source pollution monitoring stations including Samchun station

수집된 자료는 머신러닝 알고리즘 모델의 훈련 및 예측 데이터로 활용하였다

2.2. 분석 및 예측 도구

데이터 전처리에는 Microsoft Office Excel(Professional Plus 2021)를 사용하였으며, 머신러닝 학습 및 예측 정확도 분석에는 Python(ver. 3.10.12) 프로그램을 사용하였다. Python은 사용자들이 데이터 분석 및 머신러닝 등에 활용하기 편리하도록 다양한 라이브러리를 제공하고 있으며, 이 중 데이터 프레임을 만들고 데이터에 대한 수정을 할 수 있는 pandas 라이브러리와 머신러닝 훈련 및 예측 정확도 분석에는 sklearn 라이브러리를 활용하였다.

2.3. 머신러닝 예측 및 평가

비점오염물질측정망의 수질 자동측정 항목 중 탁도를 예측하기 위하여 자동측정 항목인 수온, pH, EC, DO 데이터를 활용하였다. 수집된 데이터 중 2018년부터 2021년까지의 데이터는 Training data와 Validation data로 각각 80%와 20%의 비율로 구분하여 학습 하이퍼파라미터 튜닝에 사용하였다. 2022년 데이터는 Test data로 사용하여 기 학습된 모델의 예측 정확도를 검증하였다. 연구에 사용한 머신러닝 알고리즘은 K-NN, SVM, 의사결정 나무였으며, 알고리즘에 따라 데이터 스케일이 영향을 줄 수 있으므로 데이터 정규화 적용 여부를 검토하였다. 이와 더불어 각 알고리즘의 정확도를 향상시키기 위해 하이퍼파라미터 튜닝을 수행하였다. 한편 알고리즘의 과적합(Over fitting)을 방지하기 위해 K-Fold 교차 검증도 수행하였다. 이 과정에서 NES의 비교를 통해 하이퍼파라미터별 정확도를 평가하였다. 이를 통하여 NSE가 가장 높은 상위 10개의 모델을 선정하여 Test data에 대한 이들 각각의 NSE, 평균제곱오차(MSE, Mean Squared Error, 평균 제곱근 오차(RMSE, Root Mean Squared Error), 평균절대오차(MAE, Mean Absolute Error)를 비교하여 최적의 알고리즘을 결정하였다.

2.3.1. 데이터 정규화(Normalization) [8]

알고리즘이 매개변수 설정과 데이터 스케일에 따라 민감하게 영향을 받을 수 있으므로, 이를 개선하기 위하여 각 특성 값의 범위를 동일하게 하거나 분포를 유사하게 변환하는 과정을 거쳐야 한다. 본 연구에서는 아래와 같은 Z-Score 공식을 이용하여 변수의 범위를 0을 중심으로 대칭적으로 분포시키는 정규화 과정을 거쳐 그 영향을 최소화하고자 하였다.

(Eq. 1) Z = (X − m) / σ

여기서 X는 측정값, m은 평균, σ는 표준편차를 의미한다.

2.3.2. K-NN9)

K-NN은 변인의 값 주변에 적당한 크기의 반경(Neighbor)를 설정하여 공간을 분할하고, 개별 변인의 값과 가장 거리가 가까운 K개의 학습자료를 찾아 학습자료의 종속변수를 대표하는 값을 조건부 평균으로 추정하며, 그 추정값을 평균값으로 확정하였다.

(Eq. 2) f^x0=1KxiN0yi

여기서 x0는 입력된 데이터, N0x0에 가장 가까운 변인의 값을 가진 K개의 학습자료 변인 값의 집합, yi는 각 학습 데이터 포인트의 종속변수를 의미한다.

2.3.3. SVM [9,10]

SVM은 종속변수 관측치로부터 ‘거리’를 단축하는 조건부 평균 추정치를 도출하는 방법으로 관측치와 조건부 평균 추정치 간의 일정한 허용 구간(Margin)을 설정하고, 이 구간 내의 데이터에 대해서는 오차를 무시하는 방식을 채택한다(Fig. 2). 따라서, SVM은 구간 외부에 위치한 관측치만을 고려하여 평균치의 오차를 최소화하는 방식으로 추정치를 도출하였다.

Fig. 2.

Classification concept using SVM.

2.3.4. 의사결정 나무 [9]

의사결정 나무는 데이터를 특정 함수 형태로 제한하지 않고, 변수 값에 따라 데이터를 2분할하여 조건부 평균을 도출하는 방법이다. 각 분할된 공간 내에서는 동일한 값을 부여하며, 이 값은 해당 공간에 포함된 데이터의 대표값을 사용한다. 분할 과정에서는 평균제곱오차를 최소화하는 변인과 임계값을 평균치로 선택하지만, 분할이 지나치게 많아질 경우 과적합 문제가 발생할 수 있으므로 적절한 지점에서 분할 과정의 진행을 중단하는 것이 중요하다(Fig. 3).

Fig. 3.

Decision tree prediction process.

2.3.5. 하이퍼파라미터(Hyper parameters) [11]

통계학에서의 하이퍼파라미터는 함수의 형태를 동일하게 유지시켜주는 추가적인 매개변수 역할을 하며, 이를 통해 특정 분포를 조정할 수 있다. 반면, 머신러닝에서의 하이퍼파라미터는 모델의 성능에 영향을 미치는 변수로, 학습 함수와 목적 함수에 영향을 주어 머신러닝 알고리즘의 성능 향상에 중요한 역할을 한다. 본 연구에서 적용한 하이퍼파라미터와 그 적용 값은 다음과 같다(Table 1).

Hyper parameters applied in this study

2.4.6. K-fold 교차 검증(K-fold cross validation) [10]

K-fold 교차 검증은 K개의 집합으로 나누어 K-1개의 집합을 훈련자료로 사용하고 나머지 1개의 집합을 검증 자료로 사용하는 방법으로 이 과정을 K번 반복한다. 본 논문에서는 K를 5로 설정하였으며 동시에 K-fold 교차검 증을 통하여 모든 데이터가 학습 및 검증 자료로 활용되 기 때문에 모델 평가 과정에서 과적합을 방지할 수 있다 (Fig. 4).

Fig. 4.

K-fold cross validation.

3. 결과 및 고찰

3.1. 최적의 하이퍼파라미터 도출

3.1.1. K-NN

K-NN에 대한 하이퍼파라미터 튜닝 결과, 원데이터를 기반으로 예측한 상위 10개의 모델 모두 이웃의 수가 3이고, 이웃간 거리가 가까울수록 높은 가중치를 부여한 경우 보다 더 높은 정확도를 보였다. 그중 가장 높은 정확도를 보인 모델은 Ball tree 알고리즘과 유클리디안(Euclidean) 거리를 활용한 모델로 NSE는 0.990를 나타냈으나, Test data를 적용한 검증 결과 NSE는 오히려 0.940으로 소폭 감소하였다. 10개 모델을 대상으로 Test data를 적용한 검증 결과 Brute 알고리즘이 가장 높은 0.959의 NSE를 나타냈으며 이 경우 이웃의 수는 3, 거리에 따른 가중치 부여 및 맨하탄(Manhattan) 거리를 사용하였다. 하이퍼파라미터 튜닝과정에서 NSE가 높은 상위 5개의 모델은 모두 유클리디안 거리를 활용한 모델이었으나, Test data에 더 적합한 모델은 맨하탄 거리를 이용한 모델이었다(Table 2).

Model tuning results of top 10 hyperparameters for the K-NN algorithm using raw data

정규화를 통한 예측 시 원데이터를 통한 예측과는 상이하게 상위 10개의 모델 모두 하이퍼파라미터 튜닝 결과 유클리디안 거리를 사용하였을 때 NSE가 전반적으로 높게 나타났다. 그러나 Test data를 활용하여 NSE를 검토한 결과 가장 높은 NSE는 0.812로 확인되어 원데이터 예측 결과에 비해 정규화를 통한 예측 시 NSE가 낮은 것으로 나타났다(Table 3). 따라서, K-NN 알고리즘을 활용한 탁도의 예측에는 원데이터를 사용하는 것이 더 적합한 것으로 판단되었다.

Model tuning results of top 10 hyperparameters for the K-NN algorithm using normalized data

3.1.2. SVM

SVM에 대한 하이퍼파라미터 튜닝 결과 원데이터를 기반으로한 예측 시 Kernel type이 Linear인 경우, 규제 매개변수와 감마 값에 관계없이 모든 결과가 동일하게 나타났다. 이를 통해 원데이터가 선형적으로 구분이 가능한 특성을 가지고 있음을 확인하였다. 또한, Test data를 활용한 예측에서도 가장 높은 NSE를 보여주어 모델의 검증 결과도 신뢰도가 높은 것으로 확인되었다. 한편, Radial basis function를 활용한 예측의 경우 모든 감마 값이 Scale로 설정되었을 때 NSE가 상대적으로 높았으며, 규제 매개변수의 값이 클수록 모델의 NSE가 더 높은 것으로 나타났다(Table 4).

Model tuning results of top 10 hyperparameters for the SVM algorithm using raw data

정규화 데이터를 사용한 예측에서도 원데이터 예측과 동일하게 상위 10개의 모델 모두 Kernel type이 Linear일 때 NSE가 가장 높았으며, 감마 값은 예측 결과에 영향을 주지 않는 것으로 나타났다. 즉, 규제 매개변수가 1일 때 NSE가 가장 높았으며, Test data를 활용한 예측에서도 높은 NSE 값을 유지하였다. 규제 매개변수를 0.05로 낮추면 NSE가 규제매개변수가 1인 경우보다 더 증가하여 가장 적합한 모델로 확인되었다(Table 5).

Model tuning results of top 10 hyperparameters for the SVM algorithm using normalization data

결과적으로 SVM을 활용하여 원데이터 및 정규화를 통한 예측 시 Kernal type을 Linear로 설정하여 예측하는 것이 가장 적합한 것으로 판단되었고, 특히, 정규화 된 데이터의 예측에서 NSE가 근소하게 더 높게 나타나 정규화를 통한 예측을 수행하는 것이 가장 적합한 것으로 판단되었다.

3.1.3. 의사결정 나무

의사결정 나무에 대한 하이퍼파라미터 튜닝 결과 원데이터를 활용한 예측 시 NSE 상위 10개의 모델에서 노드 분할 방식이 Best일 때 가장 높았으며, 이와 동시에 분할을 위한 최소 샘플 수가 1, 리프 노드의 최소 샘플 수가 1 그리고 노드 분할 기준이 MAE인 경우 NSE가 전반적으로 높은 것으로 확인되었다. Test data를 활용한 예측에서는 하이퍼파라미터 튜닝 시의 경우보다 더 높은 NSE 값을 나타냈다(Table 4).

정규화 데이터를 사용한 예측에서도 원데이터 예측과 유사하게 리프 노드의 최소 샘플수가 1일 때 NSE가 가장 높은 것으로 확인되었다. 또한, 분할을 위한 최소 샘플 수는 2 또는 5, 노드 분할 기준이 Friedmans인 경우도 전반적으로 높은 NSE를 보여, 노드 분할 방식이 Random인 모델도 상위 10개 모델에 포함될 수 있음을 확인하였다. 정규화 데이터에 대한 예측에서도 하이퍼파라미터 튜닝 시의 결과보다 Test data를 활용한 경우의 NSE가 더 높은 것으로 나타났다(Table 5).

의사결정 나무의 경우 이론적으로 정규화 여부에 따라 예측 성능에 큰 영향을 미치지 않는 것으로 보고되었으며, 본 연구에서도 이와 마찬가지로 정규화 여부가 성능에 큰 영향을 미치지 않는 것으로 확인되었다[12]. 다른 알고리즘들과는 다르게 의사결정 나무의 경우 Test data의 예측이 하이퍼파라미터 튜닝 시 예측보다 NSE가 높은 것으로 확인되었다. 이는 Test data가 Train data보다 더 예측하기 쉬운 경우이거나, Train data의 값들이 Test data와 매우 유사하거나 분포가 일정하기 때문인 것으로 판단된다.

3.2. 알고리즘별 예측결과 비교

각 알고리즘 별 하이퍼파라미터 튜닝 후 도출된 상위 10개의 조합 중 Test data에 대한 예측 정확도가 가장 높았던 모델들의 결과를 검토한 결과 가장 낮은 NSE를 보인 정규화를 수행한 K-NN 알고리즘을 제외한 모든 알고리즘이 이전 연구 결과인 0.915보다 전반적으로 모두 높은 값을 보였다[7]. SVM과 의사결정 나무는 원데이터와 정규화 시 NSE의 차이는 미미한 것으로 나타나 자동측정항목 데이터를 통해 탁도 예측 시 원데이터의 변수에 따른 스케일의 차이는 예측결과에 큰 영향을 미치지 않았다. 따라서, 탁도 예측 시 정규화를 수행한 경우 정확도 및 오류발생 측면에서 무시할 정도로 미미하게 성능이 향상되어 매우 정교한 예측이 필요하지 않은 경우 정규화는 불필요한 것으로 판단되었다.

Test data를 사용하여 예측 시 가장 높은 NSE를 보인 것은 의사결정 나무로 원데이터와 정규화 데이터 예측 결과 모두 NSE, MSE, RMSE, MAE 측정치에서 가장 작은 오차를 보였으며, SVM 알고리즘 또한 매우 높은 예측 정확도를 보였다. 한편, K-NN알고리즘은 정규화된 데이터를 사용했을 대 오히려 성능이 저하되는 경향이 있었으나, 원데이터를 사용했을 때는 상대적으로 높은 NSE를 나타내었다. 각 알고리즘별 예측 결과를 종합적으로 검토한 결과 의사결정 나무 알고리즘이 탁도 예측에 가장 적합한 것으로 평가되었다(Table 5).

Model tuning results of top 10 hyperparameters for the DT algorithm using raw data

Model tuning results of top 10 hyperparameters for the DT algorithm using normalized data

Comparison of prediction accuracy on each of the algorithms used

4. 결 론

본 연구에서는 머신러닝을 수행하여 비점오염물질측정망의 수질 자동측정 항목 중 수온, pH, EC, DO 데이터를 활용하여 탁도를 예측하고자 하였다. 이를 위하여 K-NN, SVM, 의사결정 나무 알고리즘을 통해 원데이터와 정규화 데이터를 학습하였으며, K-fold 교차 검증을 통해 하이퍼파라미터 튜닝을 수행한 후, 각 알고리즘 별 상위 10개의 하이퍼파라미터를 도출하였다. 이를 별도의 Test data를 활용하여 예측 정확도(i.e. NSE)를 검증하였으며, 이 과정에서 각 알고리즘의 과적합을 방지하고 일반화 성능도 평가하였다. 최종적으로 도출된 하이퍼파라미터를 바탕으로 각 모델의 예측 정확도를 분석한 결과 정규화 데이터를 통해 학습한 K-NN을 제외하고 기존의 연구결과보다 모두 향상된 예측 정확도를 보여 비점오염물질측정망의 탁도 예측에 머신러닝 알고리즘을 활용하는 것은 적합한 것으로 판단되었다.

SVM과 의사결정 나무의 경우 원데이터와 정규화 데이터의 예측 정확도의 차이가 미미하게 나타났으며, K-NN의 경우 원데이터의 예측 정확도는 높았으나, 정규화 데이터의 경우 상대적으로 예측 정확도가 낮게 나타났다. 따라서, 비점오염원 자동측정 항목 데이터를 통한 탁도 예측 시 수집된 원데이터의 스케일은 모델 학습에 큰 영향을 미치지 않는 것으로 여겨졌다.

본 연구에서 검토한 알고리즘 중 의사결정 나무 알고리즘이 탁도 예측 시 예측 정확도가 가장 높게 나타났고, 예측 오차인 MSE, RMSE, MAE 또한 다른 두 알고리즘에 비해 낮게 나타나 탁도 예측 시 의사결정나무 알고리즘이 최적임을 입증하였다. 그러나, 의사결정 나무 외에도 K-NN과 SVM 모두 상대적으로 높은 예측 정확도를 보여주어 향후 의사결정나무를 통한 탁도 예측 시 K-NN과 SVM을 통해 예측한 결과를 함께 활용한다면 더욱 정확도가 향상된 예측 결과를 확보할 수 있을 것으로 판단되었다.

References

1. 김 진호, 한 국헌, 이 종식. 농촌유역의 강우사상별 농업 비점원오염물질 유출특성. 한국물환경학회지 2008;24(1):69–77.
2. 한 혜진, 김 수빈, 이 단비, 장 연석, 이 광야, 김 지성. "통합 물관리를 고려한 지속가능한 물순환 관리체계 구축 및 정책기반 마련 연구", 2020, 15-18, 한국환경정책·평가연구원, 대한민국.
3. 관계부처합동, "제3차(2021~2025) 강우유출 비점오염원 관리 종합대책", 2020, 11-16.
4. 국립환경과학원 한강물환경연구소, "비점오염원 관리지역 모니터링 및 평가 -소양호 유역을 중심으로-". 2009, 1-7.
5. 환경부, "물환경측정망 설치·운영계획". 2023, 3-50.
6. 정 원구, 허 인량, 이 건호, 김 세희, 배 철민, 박 운지, 최 승봉, 김 종철. 강우시 흙탕물 발생 하천의 수질개선 효과 분석. 한국환경분석학회지 2017;20(1):49–57.
7. 국립환경과학원, "비점오염물질측정망 자료 활용방안 연구", 2022, 27-52.
8. 권 대욱. 머신 러닝 기법을 활용한 ADAS/자율주행 차량의 운행 적합도 설계. 한양대학교 석사학위논문 2021;:10–13.
9. 강 성원, 이 동현, 장 기복, 진 대용, 홍 한움, 한 국진, 김 진형, 강 선아, 김 도연, 정 은혜. 환경 빅데이터 분석 및 서비스 개발", 2017, 46-61, 한국환경정책·평가연구원, 대한민국.
10. 이 한승, 조 재웅, 강 호선, 황 정근. 교차검증과 SVM을 이용한 도시침수 위험기준 추정 알고리즘 적용성 검토. 한국수자원학회 논문집 2019;52(12):963–973.
11. 김 용훈. "AutoML의 성능개선을 위한 Hyperparameter 최적화 연구", 부경대학교 박사학위논문, 2020, 10.
12. Ahsan M. M., Mahmud M. A. P., Saha P. K., Gupta K. D., Siddique Z.. Effect of data scaling methods on machine learning algorithms and model performance. Technologies 2021;9(3):52–68.

Article information Continued

Fig. 1.

Network of national non-point source pollution monitoring stations including Samchun station

Fig. 2.

Classification concept using SVM.

Fig. 3.

Decision tree prediction process.

Fig. 4.

K-fold cross validation.

Table 1.

Hyper parameters applied in this study

Model Hyper parameters Applied values
K-NN Number of neighbors 1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21
Weight function Uniform, Distance
Algorithm Auto, Ball tree, kd tree (kd), Brute
Leaf size 20, 30, 40, 50
Distance metric Manhattan, Euclidean
SVM Regularization parameter 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, 15, 20, 25, 30, 40, 50, 75, 100
Kernel type Radial basis function (RBF), Linear
Gamma Scale, Auto
DT Maximum depth of the tree 5, 10, 25, 50
Minimum samples split 2, 5, 10
Minimum samples leaf 1, 2, 4
Criterion MSE, Friedmans, MAE
Splitter Best, random

Table 2.

Model tuning results of top 10 hyperparameters for the K-NN algorithm using raw data

Hyper parameters
NSE
Number of neighbors Weight function Algorithm Leaf size* Distance metric Tuning result Test data Prediction result
3 Distance Ball tree 30, 40, 50 Euclidean 0.99043511 0.93977295
3 Distance Auto, kd 30, 40, 50 Euclidean 0.99043510 0.93977256
3 Distance Auto, kd 20 Euclidean 0.99043509 0.93977252
3 Distance Ball tree 20 Euclidean 0.99043509 0.93977295
3 Distance Brute - Euclidean 0.99043503 0.93977283
3 Distance Brute - Manhattan 0.99011249 0.95941344
3 Distance Ball tree 20 Manhattan 0.99011245 0.95941340
3 Distance Auto, kd 30, 40, 50 Manhattan 0.99011211 0.95941304
3 Distance Auto, kd 20 Manhattan 0.99011210 0.95941299
3 Distance Ball tree 30, 40, 50 Manhattan 0.99011209 0.95941340
*

Hyphen indicates that NSE values were the same as for hyperparameters 20, 30, 40 and 50.

Table 3.

Model tuning results of top 10 hyperparameters for the K-NN algorithm using normalized data

Hyper parameters
NSE
Number of neighbors Weight function Algorithm Leaf size* Distance metric Tuning result Test data Prediction result
3 Distance Ball tree 20 Euclidean 0.90725382 0.81160589
3 Distance Ball tree 30, 40, 50 Euclidean 0.90725382 0.81160589
3 Distance Brute - Euclidean 0.90725382 0.81159847
3 Distance Auto, kd 20 Euclidean 0.90725380 0.81160589
3 Distance Auto, kd 30, 40, 50 Euclidean 0.90725379 0.81160590
5 Distance Auto, kd 30, 40, 50 Euclidean 0.90643672 0.79259198
5 Distance Auto, kd 20 Euclidean 0.90643672 0.79259194
5 Distance Ball tree 20 Euclidean 0.90643660 0.79259338
5 Distance Ball tree 30, 40, 50 Euclidean 0.90643660 0.79259338
5 Distance Brute - Euclidean 0.90643659 0.79255159
*

Hyphen indicates that NSE values were the same as for hyperparameters 20, 30, 40 and 50.

Table 4.

Model tuning results of top 10 hyperparameters for the SVM algorithm using raw data

Hyper parameters
NSE
Regularization parameter* Kernel type Gamma** Tuning result Test data Prediction result
- Linear - 0.99999419 0.99994634
100 RBF Scale 0.93541655 0.86311621
75 RBF Scale 0.92875436 0.86430967
50 RBF Scale 0.91649068 0.86227337
40 RBF Scale 0.90947460 0.86605998
30 RBF Scale 0.90032091 0.86882386
25 RBF Scale 0.89286681 0.87011582
20 RBF Scale 0.88350305 0.87203033
15 RBF Scale 0.87041528 0.87859503
10 RBF Scale 0.84797009 0.89351061
*

Hyphen indicates that NSE values were the same as for hyperparameters 0.01, 0.025, 0.05, 0.075, 0.1, 0.25, 0.5, 0.75, 1, 2.5, 5, 7.5, 10, 15, 20, 25, 30, 40, 50, 75 and 100.

**

Hyphen indicates that NSE values were the same as for hyperparameters Scale and Auto.

Table 5.

Model tuning results of top 10 hyperparameters for the SVM algorithm using normalization data

Hyper parameters
NSE
Regularization parameter Kernel type Gamma* Tuning result Test data Prediction result
1 Linear - 0.99999442 0.99994789
0.75 Linear - 0.99999441 0.99994769
0.25 Linear - 0.99999435 0.99994747
0.5 Linear - 0.99999433 0.99994760
2.5 Linear - 0.99999424 0.99994681
7.5, 10, 15, 20, 25, 30, 40, 50, 75, 100 Linear - 0.99999419 0.99994640
5 Linear - 0.99999419 0.99994640
0.1 Linear - 0.99999396 0.99994912
0.075 Linear - 0.99999324 0.99995015
0.05 Linear - 0.99996793 0.99995143
*

Hyphen indicates that NSE values were the same as for hyperparameters Scale and Auto.

Table 6.

Model tuning results of top 10 hyperparameters for the DT algorithm using raw data

Hyper parameters
NSE
Maximum depth of the tree Minimum samples split Minimum samples leaf Criterion Splitter Tuning result Test data Prediction result
10 1 1 MSE Best 0.99691249 0.99997760
50 1 1 MAE Best 0.99687728 0.99999825
25 1 1 MSE Best 0.99683820 0.99999792
25 1 1 Friedmans Best 0.99683817 0.99999791
25 1 1 MAE Best 0.99683690 0.999999829
25 1 1 MAE Best 0.99681421 0.99999790
50 1 1 MAE Best 0.99680800 0.99999813
25 2 2 MAE Best 0.99680293 0.99999827
50 2 2 MAE Best 0.99679737 0.99999823
10 2 2 MAE Best 0.99679603 0.99998485

Table 7.

Model tuning results of top 10 hyperparameters for the DT algorithm using normalized data

Hyper parameters
NSE
Maximum depth of the tree Minimum samples split Minimum samples leaf Criterion Splitter Tuning result Test data Prediction result
25 2 1 MAE Best 0.99692217 0.99999782
50 2 1 Friedmans Best 0.99688319 0.99999821
50 2 1 MSE Best 0.99688144 0.99999783
10 2 1 Friedmans Best 0.99687724 0.99997747
25 2 1 MSE Best 0.99685338 0.999999846
25 2 1 Friedmans Random 0.99682425 0.99999811
25 5 1 MAE Best 0.99681151 0.99999788
25 2 2 MAE Best 0.99679914 0.99999803
50 2 2 MAE Best 0.99679873 0.99999804
25 5 1 Friedmans Random 0.99679776 0.99999742

Table 8

Comparison of prediction accuracy on each of the algorithms used

Category NSE MSE RMSE MAE
Previous study [7] 0.915 - - -
K-NN Raw data 0.95941344 7.36133798 2.71317858 1.49319843
Normalization data 0.81160590 34.16975066 5.84548977 3.25210411
SVM Raw data 0.99994634 0.00973183 0.09865002 0.09863833
Normalization data 0.99995143 0.00880874 0.09385491 0.09359360
Decision tree Raw data 0.99999829 0.00031091 0.01763255 0.00467735
Normalization data 0.99999846 0.00027859 0.01669088 0.00475128