Classification learner(분류학습기) 사용하는 이유
Classification learner는 어떤 그룹에 속하는지를 예측하는 지도학습 분류 모델을 만들어줍니다. Matlab에서 제공하는 것보다는 적은 모델들을 사용할 수 있지만, 기본적인 기능들이 앱 안에 다 내장되어있기 때문에 코딩 지식이나 복잡한 머신러닝에 대한 이해 없이도 모델을 쉽게 만들어볼 수 있다는 장점이 있습니다. 무슨 모델을 써야할 지 잘 모르겠고, 코딩하기 귀찮고, 이것 저것 빠르게 시도해보고 싶을 때 좋은 방법입니다. 여러 모델에 대해서 다 테스트해봐야하는 경우 학습을 돌려놓고 퇴근하고 다음날 와서 확인해보기에도 좋습니다.
Classification learner 사용하기
Regression learner 때와 마찬가지로 '앱' 버튼을 눌러서 앱이 다운로드되어있는지 확인합니다. 다운로드 되어있지 않다면 '추가 앱 다운로드'나 '앱 설치'에 들어가서 Classification learner 혹은 분류 학습기를 검색하여 다운로드 받습니다.
Matlab에서 기본적으로 제공하는 와인 데이터를 불러와서 학습해보겠습니다. 분류 학습기를 사용할 때 분류해야할 클래스가 여러 개인 경우 1, 2, 3 과 같은 정수로 표기하거나 character, string 형태로 label을 넣어줘야합니다. 데이터를 불러오면 와인의 label(t)은 [1,0,0], [0,1,0], [0,0,1]로 표기되는데(이를 원-핫 인코딩이라고 합니다) 이를 0,1,2의 숫자로 바꿔줍니다.
[x,t] = wine_dataset;
y = 1*t(2,1:end) + 2*t(3,1:end);
이후 앱을 실행하고 '새 세션' 버튼을 누릅니다.
현재 데이터의 상황에 맞게 행을 데이터 종류로 볼건지 열을 데이터 종류로 볼 것인지 결정합니다. 그리고 응답변수(label)은 x랑 전혀 다른 변수로 저장되어있으므로 '작업 공간에서'를 선택합니다. 검증방식은 일반적으로 사용하는 교차검증을 사용합니다. 테스트 데이터의 경우 원래는 보통 전체 데이터의 10~20% 정도를 할당하도록 합니다.
Regression learner와 마찬가지로, 대부분의 경우 앙상블 모델에서 트리 계열의 모델이 일반적으로 안정적인 성능을 내며 선호됩니다. Regression learner와 마찬가지로 최적화가능한 앙상블 모델을 선택합니다.
특징 선택, PCA는 Regression learner와 동일한데 앞선 글의 내용을 참고하시면 됩니다.
2024.11.09 - [공학자를 위한 머신러닝/Matlab을 사용한 머신러닝] - Regression Learner (회귀학습기)
Regression Learner (회귀학습기)
Regression learner를 쓰는 이유 앞서 적은 곡선 피팅기는 변수가 한 개이거나 두 개인 곡선만 피팅할 수 있었습니다. 그러나 수학적으로 모델링이 어렵거나, 그것보다 더 복잡한 모델을 만들어야
me-ai-bigdata.tistory.com
하나 달라진 점은 '비용'이라는 변수입니다. 이는 클래스의 분류를 틀릴 때 어떻게 틀리는지에 따라 가중치를 주는 옵션입니다. 예를 들어서 label 3을 label 1이라고 틀리는 것이 label 2를 label 1로 틀리는 것보다 문제가 크다면 그 행/열에 1보다 큰 수를 적절히 넣어서 조정할 수 있습니다.
이후 훈련 버튼을 눌러서 모델을 학습시킵니다.
이 분류 결과에 대해서 어떻게 해석해볼 수 있는지는 다음 글에서 다루도록 하겠습니다.
'공학자를 위한 머신러닝 > Matlab을 사용한 머신러닝' 카테고리의 다른 글
MML-07 머신러닝 모델들을 고르는 방법-분류 (0) | 2024.11.16 |
---|---|
MML-06 Classification Learner (분류 학습기) - 2 (0) | 2024.11.12 |
MML-04 Regression Learner (회귀학습기) -2 (0) | 2024.11.10 |
MML-03 Regression Learner (회귀학습기) (1) | 2024.11.09 |
MML-02 Matlab Curve fitting (곡선피팅기) (1) | 2024.11.05 |