pandas 로 데이터 세트 를 나 누 어 훈련 집합 과 테스트 집합 을 실현 합 니 다.

1、model 사용select 서브 모듈 의 traintest_split 함수 구분
데이터:kaggle 에서 Titanic 데이터 세트 사용 하기
구분 방법:무 작위 구분

#   pandas  ,sklearn model_select  
import pandas as pd
from sklearn.model_select import train_test_split
#     
data = pd.read_csv('.../titanic_dataset/train.csv')
#        X  ,      Y  
x = data.iloc[:, 2:]
y = data.loc['Survived']
#   train_test_split       (    75%,    25%)
x_train, x_test, y_train,y_test = train_test_split(x, y, test_size=0.25, ramdon_state=0)
단점:1.데이터 낭비 가 심각 하여 일부 데이터 만 검증 했다.
            2.너무 적합 하기 쉽다.
2.k 접 기 교차 검증(kpold)
원리:데이터 세트 를 n 개의 교차 하지 않 는 부분 집합 으로 나 누고 매번 그 중 하 나 를 테스트 집합 으로 선택 하고 나머지 n-1 개의 부분 집합 을           훈련 집 그룹 데이터
사용 방법:sklearn.modelselect.KFold(n_splits=5,shuffle=False,random_state=0)
매개 변수 설명:nsplits:데이터 세트 구분 의 분수,
                  shuffle:매번 구분 하기 전에 카드 를 다시 섞 는 지,False 는 구분 하기 전에 카드 를 섞 지 않 는 지,매번 구분 결과 와 마찬가지 로 True 는 구분 하기 전에 카드 를 섞 는 지,매번 구분 결과 가 다르다 는 것 을 나타 낸다.
                 random_state:무 작위 피 드 수
(1)shuffle=False 상황 에서 데이터 구분 상황

#             
import numpy as np
from sklearn.model_selection import KFold
x = np.arange(46).reshape(23,2)
kf = KFold(n_splits=5,shuffle=False)
for train_index, test_index in kf.split(x):
  print(train_index,test_index)
[ 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22] [0 1 2 3 4]
[ 0 1 2 3 4 10 11 12 13 14 15 16 17 18 19 20 21 22] [5 6 7 8 9]
[ 0 1 2 3 4 5 6 7 8 9 15 16 17 18 19 20 21 22] [10 11 12 13 14]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 19 20 21 22] [15 16 17 18]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18] [19 20 21 22]
(2)shuffle=True 상황 에서 데이터 구분 상황 

import numpy as np
from sklearn.model_selection import KFold
x = np.arange(46).reshape(23,2)
kf = KFold(n_splits=5,shuffle=True)
for train_index, test_index in kf.split(x):
  print(train_index,test_index)
[ 0 3 4 5 6 7 8 9 10 11 12 14 15 16 17 19 20 21] [ 1 2 13 18 22]
[ 0 1 2 3 5 6 7 10 11 13 15 16 17 18 19 20 21 22] [ 4 8 9 12 14]
[ 0 1 2 3 4 7 8 9 10 12 13 14 15 16 17 18 19 22] [ 5 6 11 20 21]
[ 1 2 3 4 5 6 8 9 10 11 12 13 14 15 18 19 20 21 22] [ 0 7 16 17]
[ 0 1 2 4 5 6 7 8 9 11 12 13 14 16 17 18 20 21 22] [ 3 10 15 19]
요약:데이터 에서 알 수 있 듯 이 shuffle=True 상황 에서 데이터 의 구분 은 어 지 러 운 것 이 고 shuffle=False 상황 에서 데이터 의 구분 은 질서 가 있다.
여기 서 pandas 로 데이터 세트 를 나 누 어 훈련 집 과 테스트 집 을 실현 하 는 것 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 pandas 로 데이터 세트 를 나 누 는 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!

좋은 웹페이지 즐겨찾기