슈코딩

[머신러닝] 다양한 모델 & 전처리 본문

코딩공부/머신러닝

[머신러닝] 다양한 모델 & 전처리

Roshu 2022. 5. 16. 16:11

 

 

1. Support Vector Machine ( SVM )

강아지와 고양이를 분류하는 문제를 풀때, 이것은 Classification problem 이고 

이러한 문제를 푸는 모델을 Classifier라고 부른다.

강아지와 고양이의 특징(Feature)을 가지고 분류를 하고 가운데 직선을 하나 그린다.

선을 잘 긋기 위해서는 선과 고양이, 강아지의 거리를 구해서 거리가 최대가 되도록 한다.

Margin이 노랑색 영역인데, Margin이 넓어지도록 학습시켜야 훌륭한 SVM이 된다.

 

#충성심 강한 개냥이가 있을경우 : Feature를 추가(다리길이, 울음소리의 높낮이) 

그래프를 3차원으로 만들수가 있게된다. 3차원이 되면 선으로는 구분이 안되고 면이된다.

Feature는 부족할수록 늘려가면서 학습을 시켜 정확도를 올린다.

 

2. 기타 머신러닝 모델

 

K-Nearest Neighbors (KNN)

비슷한 특성을 가진 개체끼리 군집화하는 알고리즘

직관적이고, 쉽고 성능이 나쁜편도 아니다.

 

Decision tree (의사결정 나무)

스무고개와 같은 방식 True False

KNN보다 더 직관적이다. 성능도 좋은편이라 간단한 문제 풀때 자주 사용한다.

 

Random forest

여러개의 의사결정 나무(Decision tree) 를 합친 모델 ( 자유민주주의 )

Majority-Voting ( 투표 ) 방식으로 합쳐진다. 마찬가지로 성능 좋은것으로 유명하다.

 

##각 모델마다 성능의 차이가 있을 수 있고 ( 문제마다 푸는 방식이 다 다르기 때문에 )

어떤 모델을 쓰느냐에 따라서 정확도가 다 다르기 때문에 적합한 모델을 찾는것이 중요하다.

 

3. 전처리 (Preprocessing)

Preprocessing?

머신러닝에서 7-80%의 비중을 차지할 정도로 굉장히 중요한 작업인데,

데이터를 정제하는 작업을 의미한다. 불필요한 데이터를 지우거나, 날리거나 너무 벗어난 값들을

지워 주는것이다. 정규화(Normalization),표준화(Standardization) 등의 많은 작업들을 포함하고 있다.

데이터셋 안에 예외상황들을 제거해주는것 -> 아웃라이어 제거

필요한 데이터들을 정제시키는것 -> 단위를 똑같게 맞춰준다.

 

 

Comments