(4) 하이퍼파라미터 튜닝 및 머신러닝 모델 평가, 적용
하이퍼파라미터를 튜닝하는데 있어 RandomizedSearchCV를 사용하였다. RandomizedSearchCV는 하이퍼 파라미터의 탐색 공간이 커지면 사용하기 좋은 탐색 방법이다. GridSearchCV와 거의 같은 방식으로 가능한 모든 조합을 시도하지만 각 반복마다 하이퍼 파라미터에 임의의 수를 대신 대입하여 지정한 횟수만큼 평가를 한다. 탐색 횟수 5번, 그리고 각각의 탐색 마다 5번씩 교차검증으로 평가하므로 총 25번 반복하게 된다. 하이퍼 파라미터는 SelectKBest의 k의 개수를 튜닝했기 때문에 target 변수와 그 외 변수 사이의 상관관계를 계산하여 가장 높은 변수 k개를 찾도록 했다. feature의 개수가 69개였지만 range를 69로 설정하고 하이퍼파라미터를 튜닝하면 overfitting이 일어나 범위를 0~50까지 설정했다. 실제로 범위를 69로 설정한 후 k를 찾아 모델을 학습시킨 결과보다 범위를 50으로 설정한 결과가 더 좋았다. 즉, k의 범위를 50으로 설정한 것의 MAE 값이 범위를 69로 설정한 것의 MAE 값보다 더 줄어들었다.
학습한 머신러닝 모델을 통해 100명의 뇌 연령(test data)과 72명의 뇌 연령(cobre test data)을 예측했다.
72명의 데이터는 머신러닝 모델을 학습시킨 데이터와 feature label의 이름이 달랐기 때문에 label의 이름을 맞춰줘야 했다. 그래서 Str.replace 함수를 사용해 lh_-> l , rh -> r로 바꿔주고 _thickness를 없애 주었다. 또한 ICV 값의 단위가 달랐기 때문에 1000으로 나눠 주었다.