분리한 훈련-테스트 세트를 무작위로 선택하기 때문에 수동 버전과는 미묘한 차이가 있습니다.
무작위성이 영향을 주는 또 다른 방식에 대해 이야기하고 싶습니다. 이것은 우리가 컴퓨터에 무작위적인 일을 시킬 때 발생하는 무작위성입니다. ShuffleSplit을 실행하면 배후에서는 다음 일이 발생합니다. 걱정마세요. random_state는 잠시 후에 소개하겠습니다.
In [26]:
ss = skms.ShuffleSplit(test_size=.25, random_state=42) train, test = 0, 1 next(ss.split(diabetes.data))[train][:10]
Out [26]:
array([ 16, 408, 432, 316, 3, 18, 355, 60, 398, 124])
ShuffleSplit이 파이썬의 생성자(generator)를 사용해서 분리 세트를 하나씩 생성하기 때문에 next 구문을 사용합니다. next를 쓰면 다음 데이터 분리 세트가 주어집니다. [train]을 통해 훈련 세트를 지정하고 [:10]으로 첫 열 개의 사례를 선택합니다.
좋아요, 한번 해 볼까요?
In [27]:
ss = skms.ShuffleSplit(test_size=.25, random_state=42) next(ss.split(diabetes.data))[train][:10]
Out [27]:
array([ 16, 408, 432, 316, 3, 18, 355, 60, 398, 124])