작성
·
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
감사합니다.
안녕하세요. 답변도우미입니다.
각 함수가 실제 내부에 어떻게 구현이 되어있는지까지는 알기가 매우 어려운 부분은 충분히 이해하고 계실 것 같습니다. 다음과 같이 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.
구현시 필요한 다양한 랜덤 파라미터들이 있다고 하셨는데
구체적으로 예시 1~2 가지만 들어주실 수 있을까요?
답변 감사합니다.