어떤 선을 기준으로 나눠야 할까
가장 근접하고 있는 데이터를 기준으로 같은 길이를 갖는
직교 하는 선으로 하자
그렇다면 서포트 벡터 머신은
다른 알고리즘과 비교해서 어떤 점이 특별할까
사과와 오렌지를 감별하는 알고리즘이라고 할 때
일반적인, 정상적인 사과와 오렌지 같은 경우
경계하는 선에서 멀리에 있을것이다
즉, 이게 사과인가? 이게 오렌지인가? 싶은 애매하게 생긴 것들이
클래시파이어 근처에 있게 되며
이를 판단하는데에 SVM이 최고라고 판단된다
from sklearn.svm import SVC
SVM을 사용하기 위해
sklearn의svm 모듈을 사용하여SVC를 임포트한다
SVC는 클래시파이어고
SVR은 리그레션이다
이후는 다른 것과 비슷하다
classfier = SVC()
classfier.fit(X_train, y_train)
y_pred = classfier.predict(X_test)
from sklearn.metrics import confusion_matrix,accuracy_score
cm = confusion_matrix(y_test, y_pred)
cm
array([[49, 9],
[ 3, 39]], dtype=int64)
accuracy_score(y_test, y_pred)
0.88
88%의 정밀도를 가진다
SVC 파라미터에 커널을 리니어로 넣었을 경우
SVC( )파리미터에 kernel을 'linear'로 입력이 가능하다
이 경우에는 어떻게 달라질까
classfier = SVC(kernel='linear')
classfier.fit(X_train, y_train)
y_pred = classfier.predict(X_test)
cm = confusion_matrix(y_test, y_pred)
cm
array([[52, 6],
[12, 30]], dtype=int64)
accuracy_score(y_test, y_pred)
0.82
이외의 조건이 같은 조건임에도
82%로 떨어지게 된다
이 조건 저 조건 바꿔가며 최상의 조건을 찾도록 하자
'Python > MachineLearning' 카테고리의 다른 글
K-Means Clustering - 개념 + WCSS (0) | 2024.04.15 |
---|---|
Decision Tree 의사결정 트리 - 개념 (0) | 2024.04.15 |
K - Nearest Neighbor - 개념 (0) | 2024.04.15 |
Logistic Regression - 개념 (0) | 2024.04.15 |
Regression 4) 인공지능 저장 및 사용 (0) | 2024.04.13 |