Как разделить набор данных на наборы обучения, тестирования и перекрестной проверки? - PullRequest
0 голосов
/ 08 июня 2018

Сначала я нормализовал числовые данные из массива 1000x20, а затем создал другой массив, содержащий случайную перестановку индексов строк нормализованных данных.Как разделить этот новый массив на наборы для обучения, перекрестной проверки и тестирования?

    In[150]:
    row_indices = np.random.permutation(X_norm.shape[0])

    In[151]:  
    # Create a Training Set - 60 percent of data - 600x20
    X_train = 

    # Create a Cross Validation Set - 20 percent - 200x20
    X_crossVal = 

    # Create a Test Set - 20 percent - 200x20
    X_test = 

    # If you performed the above calculations correctly, then X_train 
    # should have 600 rows and 20 columns, X_crossVal should have 200 rows 
    # and 20 columns, and X_test should have 200 rows and 20 columns. You 
    # can verify this by filling the code below:

    In[152]:
    # Print the shape of X_train
    X_train.shape

    # Print the shape of X_crossVal


    # Print the shape of X_test

Пожалуйста, прости, насколько я плох при переполнении стека.

Ответы [ 2 ]

0 голосов
/ 23 октября 2018
X_train = X_norm[row_indices[0:600]]

Создание набора для перекрестной проверки

X_crossVal = X_norm[row_indices[600:800]]

Создание набора для тестирования

X_test = X_norm[row_indices[800:1000]]

и при печати убедитесь, что вы используете:

print(X_train.shape)
0 голосов
/ 08 июня 2018

Вы можете использовать np.split, чтобы разбить ваши данные на куски предопределенных размеров:

X_train, X_crossVal, X_test = np.split(row_indices, [600, 800])

Документация API

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...