SVM 은 구분하기 어려운 데이터들을 나타낼때 효과적이다.
# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
#read data
df= pd.read_csv('../data/Social_Network_Ads.csv')
#set X y
X = df.iloc[0:,[2,3]]
y = df['Purchased']
#feature scaling
from sklearn.preprocessing import MinMaxScaler
scaler_X = MinMaxScaler()
X= scaler_X.fit_transform(X)
#train/test
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)
# set SVC
from sklearn.svm import SVC
classifier = SVC(kernel='rbf',random_state=1)
# kernel 에 따른 결과값이 다르다.
classifier.fit(X_train,y_train)
# predict
y_pred = classifier.predict(X_test)
# 확인
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test, y_pred)
from sklearn.metrics import accuracy_score
accuracy_score(y_test,y_pred)
linear 방식은 위와같은식으로 나오게되며
rbf 방식으로 하면 다음과 같다.
'개발 > 머신러닝' 카테고리의 다른 글
파이썬. 머신러닝 - 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 |
파이썬. 머신러닝 - Logistic Regression (0) | 2022.12.01 |