본문 바로가기

배우기/복습노트[Python과 분석]

[복습] Python | 분석 | SVM(Support Vector Machine) (4) (암의 양성 여부 예측)

728x90
반응형

cancer.csv 파일을 사용한 암의 양성 여부 예측

 

SVM은 변수 조합이 중요한 모형이다. 따라서 사전에 변수를 선택(feature selection)하여야 한다.

 

일변량 분석의 경우 Y와 X 하나와의 관계를 의미한다.

cancer data에서 Y는 두 개 class를 갖고, X는 수치 자료인 경우 ttest를 수행하게 된다.

 

그런데 다변량분석의 경우, 다른 변수들이랑 같이 고려가 되어야 할 때 변수들의 중요도가 어떻게 될 지는 변수들끼리 경쟁을 해보아야 한다.

 

이번 분석에서는 다변량 분석을 수행하여보자.

변수 중요도는 DT를 수행하여 출력을 할 것이다.

 

 

 

 

 

1) 변수 중요도 기준 상위 10개 컬럼 확인(전체 데이터 셋 훈련 결과)

 

 

 

 

 

 

 

 

2) 위 변수들로 SVM 모델링 수행(스케일링 필요)

 

STEP 1) 스케일링

 

 

STEP 2) 분리

 

 

STEP 3) 모델링

 

 

 

점수는 좋으나, 경진대회 같은 곳에서는 0.1점으로도 순위가 바뀌기 때문에 튜닝을 시도해보자.

 

 

 

3) 적절한 튜닝 후 최적의 모형 리턴

 

 

 

튜닝 결과 시각화(히트맵)

 

 

 

최종 결과 적용

 

교차 검증(CV)를 하지 않아서 위 점수를 완전히 신뢰할 수 없다.

모델이 복잡해지면서 과적합을 하게 되면 새로운 패턴에 대해서는 예측력이 좋지 않을 수 있기 때문이다.

항상 일반화 규칙을 염두에 두어야 한다. 일반화와 강한 예측력 둘 다 고려하여야 하는 것이다.

둘 다 잡기는 어려울 수 있지만 그럼에도 불구하고 예측력과 일반화의 측면에서 모델을 바라보아야 한다.

728x90
반응형