인프런 커뮤니티 질문&답변

허쿡님의 프로필 이미지
허쿡

작성한 질문수

처음하는 파이썬 머신러닝 부트캠프 (쉽게! 실제 캐글 문제 풀며 정리하기) [데이터분석/과학 Part3]

하이퍼 파라미터 튜닝 기법 적용하기 (SVC 실습)

하이퍼 파라미터 튜닝 기법 적용하기 (SVC 실습) 질문

작성

·

393

0

하이퍼 파라미터 튜닝 기법 적용하기 (SVC 실습) 강의

12분 19초

 

해당 부분에서 SVC(random_state = 1) 와 같이

random_state 를 지정해주는 부분이 있는데요.

 

기존에 제가 가지고 있던 생각은  SVC 모델의 경우

학습데이터에서 랜덤하게 샘플링해서 학습하는 게 아니라

학습데이터를 통째로 활용하는줄 알았거든요..

 

혹시 SVC 모델이 decision boundary 를 결정할 때

학습데이터를 통으로 사용하는 것이 아니라

bootstrap 방식처럼 전체 학습데이터에서

랜덤하게  샘플링한 데이터를 활용하기에

random_state 옵션이 따로 있는 것인가요?

 

답변 부탁드립니다. 감사합니다. :)

답변 1

0

안녕하세요. 답변도우미입니다.

 

다음 공식 가이드에서 처럼 random_state 가 있는데요. 각 머신러닝 메서드에서는 키컨셉 이외에도 내부적으로 구현시 필요한 다양한 랜덤 파라미터들이 있다고 보시면 좋을 것 같습니다. 그래서, 이 랜덤으로 지정해야 하는 내부 값을 고정하기 위해, 대부분의 sklearn 의 머신러닝 기법들이 random_state 를 제공하고 있습니다.

https://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html

 

감사합니다.

허쿡님의 프로필 이미지
허쿡
질문자

구현시 필요한 다양한 랜덤 파라미터들이 있다고 하셨는데

구체적으로 예시 1~2 가지만 들어주실 수 있을까요?

답변 감사합니다.

안녕하세요. 답변도우미입니다. 

각 함수가 실제 내부에 어떻게 구현이 되어있는지까지는 알기가 매우 어려운 부분은 충분히 이해하고 계실 것 같습니다. 다음과 같이 SVC 에서 다음 구현에 해당하는 부분은 random number 를 사용하고 있음은 공식적으로 sklearn 에서 이야기를 하고 있어서, 이 부분도 예시가 될 수 있을 것 같습니다.

감사합니다.

https://scikit-learn.org/stable/modules/svm.html

Randomness of the underlying implementations: The underlying implementations of SVC and NuSVC use a random number generator only to shuffle the data for probability estimation (when probability is set to True). This randomness can be controlled with the random_state parameter. If probability is set to False these estimators are not random and random_state has no effect on the results. The underlying OneClassSVM implementation is similar to the ones of SVC and NuSVC. As no probability estimation is provided for OneClassSVM, it is not random.

허쿡님의 프로필 이미지
허쿡
질문자

답변 감사합니다 :)

허쿡님의 프로필 이미지
허쿡

작성한 질문수

질문하기