군침이 싹 도는 코딩

Support Vector Machine 본문

Python/Machine Learning

Support Vector Machine

mugoori 2022. 12. 2. 15:35

서포트 백터 머신은 실제값과 예측값의 경계에

가장 가까운 두 값을 기준으로 선을 긋고 분류해준다

이때 분류선을 Maximum Margin Classifier 라고 한다

SVM의 차별점은 구분하기 힘든것들까지 구분해준다는것이다

SVM 역시 로지스틱 리그레이션과 동일한 자료를 가지고 동일한 방식으로

만들었기때문에 다른점만 후술한다

 

 

1 X,y 를 나눈다

X = df.loc[:,"Age":'EstimatedSalary']
y = df['Purchased']

 

 

2. 피쳐 스케일링을 한다

from sklearn.preprocessing import MinMaxScaler

scaler_X = MinMaxScaler()
X = scaler_X.fit_transform(X)

 

 

3. 트레이닝,테스트셋을 만든다

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.25,random_state=1)

 

 

4. 인공지능을 학습시킨다

from sklearn.svm import SVC

classifier = SVC(kernel='linear',random_state=1)
classifier.fit(X_train,y_train)

 

 

5. 결과

from sklearn.metrics import confusion_matrix, accuracy_score

cm = confusion_matrix(y_test,y_pred)
cm
>>> array([[50,  6],
           [ 13, 29]], dtype=int64)
           
accuracy_score(y_test,y_pred)
>>> 0.81

 

 

5. 시각화 해보자

 

'Python > Machine Learning' 카테고리의 다른 글

Decision Tree / Random Forest  (0) 2022.12.02
Grid Search  (0) 2022.12.02
K-NN  (0) 2022.12.02
up sampling  (0) 2022.12.02
인공지능 학습 데이터 전처리중 nan 처리 방법 (replace)  (0) 2022.12.02