728x90
반응형
train, test를 분리 시 동일한 결과가 나오게 하느냐 아니냐입니다.
random_state에 어떤 수든 동일한 결과를 보이게 됩니다.
다음과 같이 데이터를 만들어서 테스트해보죠.
import numpy as np
from sklearn.model_selection
import train_test_split
X = np.arange(20).reshape(10, 2)
y = np.arange(10)
print(X,'\n\n', y)

일반적으로 test 테이터 20%로 해서 train_test_split를 하면 다음과 같이 나뉩니다.
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
print(X_train,'\n\n', X_test, '\n\n', y_train, '\n\n', y_test)

동일하게 실행하면 train, test 가 나뉘는데, 앞에서와 다른 데이터들이 나뉜 것을 볼 수 있습니다.
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
print(X_train,'\n\n', X_test, '\n\n', y_train, '\n\n', y_test)

이제 random_state=0로 해서 해보겠습니다.
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
print(X_train,'\n\n', X_test, '\n\n', y_train, '\n\n', y_test)

동일하게 random_state=0로 해서 해보면 앞에서와 같은 데이터들이 니오는 것을 확인할 수 있습니다.
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
print(X_train,'\n\n', X_test, '\n\n', y_train, '\n\n', y_test)

그럼 random_state=1000으로 하면 어떨까요?
random_state=0일 때와는 다른 데이터로 나뉜 것을 볼 수 있습니다.
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1000)
print(X_train,'\n\n', X_test, '\n\n', y_train, '\n\n', y_test)

역시 random_state=1000으로 하면 같은 데이터가 나옵니다.
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1000)
print(X_train,'\n\n', X_test, '\n\n', y_train, '\n\n', y_test)

random_state=5로 하면 1000 때와는 다른 데이터로 해서 나뉩니다.
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=5)
print(X_train,'\n\n', X_test, '\n\n', y_train, '\n\n', y_test)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=5)print(X_train,'\n\n', X_test, '\n\n', y_train, '\n\n', y_test)

728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 감염재생산지수로 미래 감염자수 예상 (0) | 2022.10.14 |
---|---|
[파이썬] tkinter simpledialog에서 입력한 문자로 수정하기 (0) | 2022.10.14 |
[파이썬] pandas DataFrame에 Color 적용 (0) | 2022.10.04 |
[파이썬] pandas Dataframe을 이미지로 저장 (0) | 2022.10.04 |
[파이썬] 사용자 정의 함수를 리스트 요소로 사용 ([1,2,myfunc]) (0) | 2022.10.04 |
댓글