Python 1D модель CNN - Ошибка в train_test_split - PullRequest
0 голосов
/ 08 мая 2020

Я пытаюсь построить одномерную модель CNN, обрабатывая сигналы ЭКГ для диагностики апноэ во сне.

Я использую библиотеку sklearn и обнаружил ошибку в train_test_split. Вот мой код:

# loading the file
with open("ApneaData.csv") as csvDataFile:
    csvReader = csv.reader(csvDataFile)
    for line in csvReader:
        lis.append(line[0].split())  # create a list of lists

# making a list of all x-variables
for i in range(1, len(lis)):
    data.append(list(map(int, lis[i])))

# a list of all y-variables (either 0 or 1)
target = Extract(data)  # sleep apn or not

# converting to numpy arrays
data = np.array(data)
target = np.array(target)

# stacking data into 3D
loaded = dstack(data)
change = dstack(target)


trainX, testX, trainy, testy = train_test_split(loaded, change, test_size=0.3)

Я получаю сообщение об ошибке:

With n_samples=1, test_size=0.3 and train_size=None, the resulting train set will be empty. Adjust any of the aforementioned parameters.

Я не понимаю, что делаю не так? Любая помощь будет принята с благодарностью.

1 Ответ

1 голос
/ 08 мая 2020

Вероятно, sklearn понимает ваши данные как матрицу 1xN и думает о ней как о 1 образце с N функциями. Так что вам нужно его транспонировать и получить Nx1.

Это типичная ситуация для функций sklearn, не только train_split, но и fit-transform.

...