본문 바로가기

Machine Learning

(7)
(7) Source code
(6) 소감 및 참고 문헌 이번 프로젝트를 하며 정말 다양한 방법을 이용해 머신러닝 모델을 제작한 것 같다. PCA를 이용한 차원축소 방식을 이용해보기도 하고 SelectKbest를 이용해 상관관계가 높은 feature들을 찾는 방식도 사용해 보았다. 모델 제작에는 Linear ,Ridge, Lasso, Elastic net, SVM, RandomforestRegressor 등을 이용해 다양한 모델도 만들어보았다. 하이퍼파라미터 튜닝은 GridSearchCV, RandomizedSearchCV 등을 사용해보았다. 이처럼 수업시간에 배운 다양한 것들을 사용해 직접 머신러닝 모델을 제작해보며 실습 공부도 할 수 있었고 강의노트를 다시 봐가며 이론 또한 공부할 수 있었다. 이번 프로젝트가 정말 재밌었던 이유는 아마 캐글 방식 때문이었던..
(5) 결과 훈련 데이터로 모델을 만들어 나이를 예측한 결과 원래 나이와 훈련 데이터로 예측된 나이의 MAE 값이 대략 3.02 정도 나왔고 원래 나이와 검증 데이터로 예측된 나이의 MAE 값이 대략 8.54 정도 나왔다. RandomizedSearchCV를 이용하여 k를 튜닝해준 결과 k=48 이었다. 즉, 상관관계가 높은 feature 48개를 찾을 수 있었다. 하이퍼 파라미터가 튜닝된 모델을 이용한 결과 원래 나이와 훈련 데이터로 예측된 나이의 MAE 값은 대략 2.98 정도, 원래 나이와 검증 데이터로 예측된 나이의 MAE 값은 대략 8.18 정도 나왔다. 결과적으로 MAE 값들이 줄어든 것을 확인 할 수 있었다. DATA MAE Train 3.026801 2.983170 Val 8.549396 8.18724..
(4) 하이퍼파라미터 튜닝 및 머신러닝 모델 평가, 적용 하이퍼파라미터를 튜닝하는데 있어 RandomizedSearchCV를 사용하였다. RandomizedSearchCV는 하이퍼 파라미터의 탐색 공간이 커지면 사용하기 좋은 탐색 방법이다. GridSearchCV와 거의 같은 방식으로 가능한 모든 조합을 시도하지만 각 반복마다 하이퍼 파라미터에 임의의 수를 대신 대입하여 지정한 횟수만큼 평가를 한다. 탐색 횟수 5번, 그리고 각각의 탐색 마다 5번씩 교차검증으로 평가하므로 총 25번 반복하게 된다. 하이퍼 파라미터는 SelectKBest의 k의 개수를 튜닝했기 때문에 target 변수와 그 외 변수 사이의 상관관계를 계산하여 가장 높은 변수 k개를 찾도록 했다. feature의 개수가 69개였지만 range를 69로 설정하고 하이퍼파라미터를 튜닝하면 overf..
(3) 머신러닝 모델 및 교차 검증 적합한 feature를 선택하기 위해 SelectKBest 모듈을 활용하였다. SelectKBest 모듈이란 target 변수와 그 외 변수 사이의 상관관계를 계산하여 가장 높은 변수 k개를 선정할 수 있는 모듈이다. 상관관계를 분석하는 방법은 f-regression 방식, chi2 방식, f-classif 방식 등이 있는데 그 중 default인 f-classif 방식을 사용하였다. 하이퍼 파라미터 튜닝을 통해 k의 개수를 정해줄 것이기 때문에 k=all으로 설정했다. feature들의 값이 서로 달랐기 때문에 StandardScaler를 사용해 값에 대한 범위를 일정한 수준으로 맞춰주는 작업을 했다. StandardScaler는 표준화를 쉽게 지원해 주는 함수로 평균이 0이고 분산이 1인 값으로 변환..
(2) 데이터 특징 및 훈련, 검증 데이터 세트 분류 481명의 데이터 중 오류가 있는 18명의 데이터를 제외한 463명의 데이터가 머신러닝 알고리즘의 훈련에 사용되었다. 이 데이터는 68개의 뇌 지역의 피질 두께와 intracranial volume(ICV)로 구성돼있다. ID, Age label을 제외한 68개의 뇌 지역의 피질 두께, ICV 데이터를 feature 데이터로 선택했고 target 데이터는 뇌 연령을 예측하는 것이기 때문에 Age로 선택했다. 뇌 연령 예측 머신러닝 모델의 훈련 및 검증을 위해 전체 데이터 세트를 3대 1의 비율로 나누어 훈련 데이터 세트와 검증 데이터 세트를 무작위로 분류하였다.
(1) 프로젝트 소개 및 개요 사람마다 뇌의 부피, 피질의 두께 등은 제각각이고 나이가 들수록 뇌의 부피, 피질의 두께 등이 변화한다. 뇌 연령은 신체의 나이와 똑같이 노화되는 것은 아니며 같은 나이의 사람들 사이에서도 뇌 연령은 다르게 측정된다. 따라서 단순히 신체 나이의 변화로 뇌 연령 변화를 측정하는 것은 무리이며 뇌 연령 변화에는 다른 요인들이 영향을 미친다. 그 중 뇌 연령에 큰 영향을 미치는 것은 바로 피질의 두께이다. 그래서 본 연구는 머신러닝을 적용하여 뇌의 영역별 피질 두께의 데이터를 학습하고 이를 통해 뇌 연령을 예측하려고 한다.