머신러닝에서 SVM(Support Vector Machine)은 데이터 분류 및 회귀 분석에 자주 사용됩니다. 이는 초평면 분리를 기반으로 하는 판별 알고리즘 모델입니다. 즉, 레이블이 지정된 훈련 데이터가 주어지면 알고리즘은 새로운 예를 분류하기 위한 최적의 초평면을 출력합니다.
SVM(서포트 벡터 머신) 알고리즘 모델은 예시를 공간의 점으로 표현한 후, 다양한 카테고리의 예시를 최대한 분할합니다. 선형 분류를 수행하는 것 외에도 지원 벡터 머신(SVM)은 비선형 분류를 효율적으로 수행하여 입력을 고차원 특징 공간에 암시적으로 매핑할 수 있습니다.
훈련 예제 세트가 주어지면 각 훈련 예제에는 2개의 범주에 따른 범주가 표시되고 SVM(Support Vector Machine) 훈련 알고리즘을 통해 모델이 구축되고 이 2개의 범주에 새로운 예제가 할당되므로 즉, 비확률적 이진 선형 분류기가 됩니다.
전제 조건: Numpy, Pandas, matplot-lib, scikit-learn
먼저 데이터 세트를 생성합니다
from sklearn.datasets.samples_generator import make_blobs X,Y=make_blobs(n_samples=500,centers=2, random_state=0,cluster_std=0.40) import matplotlib.pyplot as plt plt.scatter(X[:,0],X[:,1],c=Y,s=50,cmap='spring'); plt.show()
분류
xfit=np.linspace(-1,3.5) plt.scatter(X[:,0],X[:,1],c=Y,s=50,cmap='spring') for m,b,d in[(1,0.65,0.33),(0.5,1.6,0.55),(-0.2,2.9,0.2)]: yfit=m*xfit+b plt.plot(xfit,yfit,'-k') plt.fill_between(xfit,yfit-d,yfit+d,edgecolor='none', color='#AAAAAA',alpha=0.4) plt.xlim(-1,3.5); plt.show()
위 내용은 Python은 SVM(지원 벡터 머신) 분류를 구현합니다. 알고리즘 원리에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!