아마 조류들끼리는 당연히 깃털이 있을 것이고, 외래종인지는 중요하지 않고, 하늘에 사는 생물끼리는 연관이 크게 없고, 포식자도 크게 의미 없고, 수중에 사는 것들은 지느러미가 있고, 육상에 사는 생물들 중 일부는 다리가 있고, 생물의 이름은 당연하니까 의미가 없다고 생각해 지운 것이라는 생각이 든다. 그런데 개인적으로, 나였다면 breathes, aquatic을 지우고 feathers와 fins legs는 살렸을 것 같다. aquatic도 airbone처럼 사는 지역인데 너무 포괄적인 정보를 가지고 있어서 다른 정보들로 충분히 유추할 수 있을 것 같다. breathes는 육지 생물이라면 당연히 호흡을 하기 때문에, 역시 너무 포괄적이다. 그러나 깃털과 지느러미 다리 등은 각 객체별로 차이가 있을 것이라 생각한다.
from sklearn.model_selection import train_test_split train_test_split(arrays, test_size, train_size, random_state, shuffle, stratify)
(1) Parameter
arrays : 분할시킬 데이터를 입력 (Python list, Numpy array, Pandas dataframe 등..)
test_size : 테스트 데이터셋의 비율(float)이나 갯수(int) (default = 0.25)
train_size : 학습 데이터셋의 비율(float)이나 갯수(int) (default = test_size의 나머지)
random_state : 데이터 분할시 셔플이 이루어지는데 이를 위한 시드값 (int나 RandomState로 입력)
shuffle : 셔플여부설정 (default = True)
stratify : 지정한 Data의 비율을 유지한다. 예를 들어, Label Set인 Y가 25%의 0과 75%의 1로 이루어진 Binary Set일 때, stratify=Y로 설정하면 나누어진 데이터셋들도 0과 1을 각각 25%, 75%로 유지한 채 분할된다.
(2) Return
X_train, X_test, Y_train, Y_test : arrays에 데이터와 레이블을 둘 다 넣었을 경우의 반환이며, 데이터와 레이블의 순서쌍은 유지된다.