2016-09-28 12 views
9

다음은 the IRIS example of tensorflow입니다.tensorflow로 k-fold 교차 검증을 수행하는 방법은 무엇입니까?

필자의 경우 이제 모든 데이터가 하나의 CSV 파일로 분리되어 있지 않고 해당 데이터에 대해 k 배 교차 유효성 검사를 적용하려고합니다.

I

data_set = tf.contrib.learn.datasets.base.load_csv(filename="mydata.csv", 
                target_dtype=np.int) 

가 어떻게 IRIS 예와 동일 다층 신경망이 데이터 세트에 K 배 교차 검증을 수행 할 수있다?

답변

9

NN은 대개 CV가 사용되지 않는 대형 데이터 세트와 함께 사용되며 매우 비쌉니다. IRIS (각 종 50 개 샘플)의 경우, 아마도 ... scikit-learn with different random seeds을 사용하여 교육 및 테스트를 분리하십시오. kfold에서 k에 대한

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.33, random_state=42) 

:

  1. 분할 데이터가 다르게 다른 값을 전달하는 "random_state"
  2. 는 _test

만약을 사용

  • 테스트를 _train 사용하여 그물을 배울 수 당신은 임의의 씨앗을 좋아하지 않으며 더 구조화 된 k 배 분할을 원합니다. 이것을 f ROM here.

    from sklearn.model_selection import KFold, cross_val_score 
    X = ["a", "a", "b", "c", "c", "c"] 
    k_fold = KFold(n_splits=3) 
    for train_indices, test_indices in k_fold.split(X): 
        print('Train: %s | test: %s' % (train_indices, test_indices)) 
    Train: [2 3 4 5] | test: [0 1] 
    Train: [0 1 4 5] | test: [2 3] 
    Train: [0 1 2 3] | test: [4 5]