Как вы сохраняете их в матрицах пятикратной перекрестной проверки, которые можно использовать в последующих вычислениях?

0

Я пытаюсь использовать следующий код для 5-кратной перекрестной проверки для набора данных X размером 351 на 14. Я хочу разделить X на 80% для обучения размером 281 на 14 и матрицы покоя 70 by 14для тестирования.

from sklearn.model_selection import KFold
from sklearn.model_selection import RepeatedKFold
kf = KFold(n_splits=5,  random_state=None)
for train_index, test_index in kf.split(X):
    X_train, X_test = X[train_index], X[test_index]

Затем у меня есть пять групп набора данных для обучения и набора данных для тестирования. Как вы храните их в матрицах, которые можно использовать в последующих вычислениях? Как X_tr1размер 281 на 14 и X_te1размер 70 на 14. X_tr2, ..., `X_tr5 '.

Например, я хочу использовать X_tr3в K означает: kmeans = KMeans(n_clusters=3, random_state=0).fit(X_tr3)

1
split_arr = list(kf.split(X))
# `split_arr` is now an array of (train, test) tuples
print(split_arr[0][0]) # 'X_tr1' in your example
print(split_arr[0][1]) # 'X_te1' in your example
3
  • Но как преобразовать split_arr[0][0]матрицу 280 на 14, но не [280, ]массив? 2 дня назад
  • Если я использую это в kmeans = KMeans(n_clusters=2, random_state=0).fit(dfX_train). Возникла ошибка: ValueError: Ожидаемый 2D-массив, вместо него получен 1D-массив: array = ..... 2 дня назад
  • Кроме того, ваш результат split_arr[0][0]кажется отличным от моего оригинала X? Не знаю почему .... 2 дня назад