범주형 데이터나 수치(회귀)형 데이터에 모두 사용 가능한 모델
기본적으로 분류 모델을 기준으로 설명한다.
서포트 벡터 머신은 그래프의 데이터를 설명하기 위해 1, 2, 3번의 직선 모드 사용 할 수있다. 그렇지만 직관적으로 봤을 때 1번 직선이 가장 최적의 직선이라고 할 수 있다.
다음은 최적의 직선을 찾기위한 주요 용어와 지표에 대한 설명이다.
참고
예를 들어 2차원 좌표평면 상에 존재하는 복잡한 데이터는 단순한 직선으로 분리할 수 없다.
이런 2차원 평면에 존재하는 비선형 데이터 문제를 3차원으로 변환 시키면 쉽게 집단을 분리 할 수 있다.
이렇게 저차원에서 해결하기 어려운 문제를 고차원으로 변환시켜 문제를 해결하는 것을 커널 트릭이라고 한다.
이처럼 커널 트릭을 통해 고차원에서 집단을 분리한 후 저차원으로 돌아가면 집단이 잘 분리되어있음을 볼 수 있다.
from sklearn.svm import SVC, SVR
# SVC 모델의 기본 값
svc_model = SVC(C=1.0,
kernel='rbf',
degree=3,
gamma='scale',
coef0=0.0,
shrinking=True,
probability=False,
tol=0.001, cache_size=200,
class_weight=None,
verbose=False,
max_iter=-1,
decision_function_shape='ovr',
break_ties=False,
random_state=None)
svr_model = SVR(kernel='rbf',
degree=3,
gamma='scale',
coef0=0.0,
tol=0.001,
C=1.0,
epsilon=0.1,
shrinking=True,
cache_size=200,
verbose=False,
max_iter=-1)