SVM은 일반적으로 사용되는 분류 알고리즘으로 기계 학습 및 데이터 마이닝 분야에서 널리 사용됩니다. Python에서는 SVM 구현이 매우 편리하며 관련 라이브러리를 사용하여 완료할 수 있습니다.
이 기사에서는 데이터 전처리, 모델 훈련, 매개변수 튜닝을 포함하여 Python에서 분류에 SVM을 사용하는 방법을 소개합니다.
1. 데이터 전처리
분류를 위해 SVM을 사용하기 전에 데이터가 SVM 알고리즘의 요구 사항을 충족하는지 확인하기 위해 데이터를 전처리해야 합니다. 일반적으로 데이터 전처리에는 다음과 같은 측면이 포함됩니다.
2. 모델 훈련
데이터 전처리 후에 모델 훈련을 시작할 수 있습니다. Python에서는 모델 학습을 위해 SVM 관련 라이브러리를 사용할 수 있습니다.
모델을 훈련하기 전에 관련 라이브러리를 가져와야 합니다.
import numpy as np
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.metrics import Accuracy_score
다음으로 데이터를 로드하고 훈련 세트와 테스트 세트를 나누어야 합니다.
data = np.loadtxt('data.txt', delimiter=',')
X = data[: , :-1]
y = data[:, -1]
X_train, 파일의 loadtxt 함수가 로드됩니다. train_test_split 함수는 데이터를 훈련 세트와 테스트 세트로 무작위로 나누는 데 사용되며, test_size 매개변수는 테스트 세트의 비율을 지정합니다.
clf = SVC(C=1.0, kernel='rbf', gamma='auto')
clf.fit(X_train, y_train)
Among C 매개변수는 정규화 계수이고, 커널 매개변수는 사용할 커널 함수를 지정하며, 감마 매개변수는 커널 함수의 영향을 제어하는 데 사용됩니다. 이 예에서는 RBF 커널 함수를 사용합니다.
y_pred = clf.predict(X_test)
acc = Accuracy_score(y_test, y_pred)print('Accuracy:', acc)
여기서 Accuracy_score 함수는 모델의 정확도를 계산하는 데 사용됩니다.
3. 매개변수 조정
모델 훈련 후에 매개변수 조정을 수행하여 모델의 분류 효과를 더욱 향상시킬 수 있습니다. SVM에서 일반적으로 사용되는 매개변수 조정 방법에는 그리드 검색과 교차 검증이 포함됩니다.
그리드 검색from sklearn.model_selection import GridSearchCV
매개변수 범위 정의
'kernel': ['linear', 'rbf'], 'gamma': ['auto', 0.1, 0.01]}
그리드 검색 수행
최적 매개변수 출력
그 중 param_grid는 매개변수의 범위를 지정하고, cv 매개변수는 교차 횟수를 지정합니다. -검증. 실행이 완료되면 최적의 매개변수 조합을 출력할 수 있습니다.
교차 검증from sklearn.model_selection import cross_val_score
교차 검증 수행
4. 요약
위 내용은 Python에서 분류를 위해 SVM을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!