비디오: 빅데이터(Big Data) 기반 지능형 학술정보서비스 2024
예측 분석을 위해로드 된 데이터로 SVM (Support Vector Machine) 분류자를 공급하려면 먼저 전체 데이터 집합을 학습 집합으로 분할하고 테스트 세트.
다행스럽게도 scikit-learn은 전체 데이터 집합을 쉽게 분리하는 데 도움이되는 함수를 구현했습니다. train_test_split 함수는 하나의 데이터 세트와 백분율 값을 입력으로받습니다. 백분율 값은 테스트 세트의 크기를 결정하는 데 사용됩니다. 이 함수는 테스트 데이터 집합 (크기가 지정된 경우)과 학습 데이터 집합 (나머지 데이터를 사용하는 경우)의 두 가지 데이터 집합을 반환합니다.
다음 코드를 입력하여 데이터 집합을 분할합니다. >>>> sklearn import cross_validation >>> X_train, X_test, y_train, y_test = cross_validation. test_size = 0.10, random_state = 111)첫 번째 행은 교차 유효성 검사 라이브러리를 세션으로 가져옵니다. 두 번째 줄은 샘플의 10 %에서 테스트 세트를 생성합니다.
x_train은 135 개의 관측치와 특징을 포함합니다.
y_train은 135 개의 관측과 동일한 순서로 135 개의 레이블을 포함합니다.x_test는 15 (또는 10 %)의 관측치와 특징을 포함합니다.
y_test는 15 개의 관측과 동일한 순서로 15 개의 레이블을 포함합니다.
다음 코드는 분할이 예상 한 것임을 확인합니다.
>>>> X_train. shape (135, 4) >>> y_train. shape (135,) >>> X_test. shape (15, 4) >>> y_test. 모양 (15,)
훈련에서 4 개의 특징과 135 개의 라벨이있는 135 개의 관찰이 출력되었음을 알 수 있습니다. 테스트 세트에는 4 개의 기능과 15 개의 라벨이 포함 된 15 개의 관찰이 있습니다.
예측 분석 분야의 많은 초보자들은 데이터 세트를 분리하는 것을 잊어 버립니다. 이는 심각한 설계 결함을 프로젝트에 도입합니다. 전체 150 개의 인스턴스가 교육 데이터로 시스템에로드 된 경우 모델 테스트를위한 보이지 않는 데이터는 남지 않습니다. 그런 다음 예측 모델을 테스트하기 위해 일부 교육 인스턴스 재사용에 의존해야합니다.이와 같은 상황에서 모델을 훈련하는 데 사용한 것과 동일한 정확한 데이터를 사용하기 때문에 모델은 항상 올바른 클래스를 예측한다는 것을 알 수 있습니다.모델은 이전에 이미이 패턴을 보았습니다. 보이는 그대로 반복해도 문제가 없습니다. 작동 예측 모델은 아직 보지 못한 데이터에 대한 예측을해야합니다.
SVM 분류 자, 학습 데이터 집합 및 테스트 데이터 집합의 인스턴스가 있으면 교육 데이터로 모델을 학습 할 준비가 된 것입니다. 인터프리터에 다음 코드를 입력하면 정확히 >>>> svmClassifier가됩니다. fit (X_train, y_train)
이 코드 라인은 예측을 할 수있는 작업 모델을 만듭니다. 특히, 레이블이 지정되지 않은 새 데이터 세트가 속한 아이리스의 클래스를 예측하는 예측 모델입니다. svmClassifier 인스턴스에는 다양한 작업을 수행하기 위해 호출 할 수있는 몇 가지 메소드가 있습니다.
예를 들어, fit 메소드를 호출 한 후에 가장 유용한 호출 메소드는 predict 메소드입니다. 이것이 새로운 데이터를 제공하는 방법입니다. 그 대가로 결과를 예측합니다.