scikit-learn의 SVM은 LIBSVM을 기반으로합니다. LIBSVM/SVM에서는 데이터의 크기를 조정해야하며 기능 값은 [0, 1] 또는 [-1, 1]의 두 범위 중 하나 여야합니다. 즉, 일반적인 행렬에서 각 열은 피쳐이고 배율은 열마다 수행됩니다.[0,1] 또는 [-1,1] 사이의 기능을 확장하는 scikit 지원
x'=(x-min)/(Max-min)
이 "간단한 스케일링을"지원 scikit 배우기 않습니다
LIBSVM 자주 묻는 질문 [0, 1] 사이의 기능을 얻을 수있는 간단한 스케일링을 제안? SVM 및 RBF 커널과 함께 사용할 기능을 조정하는 다른 권장 사항이 있습니까? 어떤 참조? LIBSVM을 기반으로하는 "벡터 분류 지원을위한 실용 가이드"라는 참조 문헌을 발견했으며 [0, 1] 또는 [-1, 1]로 스케일링 할 것을 권장합니다.
감사합니다 Larsmans! 전처리 .Scaler()는 열 (평균 0, var = 1)을 표준화합니다. 그러나 범위 [-1, + 1] 내 값을 얻지 못하고 있습니다. 나는 행렬을 가지고있다. 다음 코드를 사용하고 있습니다 : scal = preprocessing.Scaler(), scal.fit (a), scal.transform (a). 결과는 [-1, + 1] 범위에 없습니다. – user963386
@ user963386 행렬에 부동 소수점 값이 포함되어 있는지 확인하십시오. 스케일러는 그렇지 않으면 올바르게 작동하지 않습니다. –