У меня есть список путей к файлам 3D Nifti.Я использую nilearn resample_img
, который возвращает четырехмерное изображение, где первые три измерения представляют оси x, y, z, а четвертое измерение представляет количество объектов.Затем я хочу передать этот объект и метки в мой конвейер scikit-learn, однако получаю ошибку:
ValueError: Найдены входные переменные с непоследовательным количеством выборок
Я знаю, почему происходит эта ошибка: функция check_consistent_length()
сравнивает длину первого измерения X и y.Поскольку X - это четырехмерный массив, первое измерение представляет не количество выборок, а количество слоев на оси x, поэтому check_consistent_length
будет выдавать эту ValueError.Или другими словами: если check_consistent_length
проверит 4-е измерение X, оно не выдаст эту ошибку, потому что это измерение представляет количество выборок.
Первый преобразователь в моем конвейере - это NiftiMasker
, который может принимать массив 4D и автоматически преобразует 4D img в нужный формат (n_samples * n_features), как это требуется.Если бы я мог «взломать» конвейер и избежать проверки работоспособности по check_consistent_length
, все бы хорошо.
Есть ли способ избежать этой проверки здравомыслия?