0

У меня есть train_dataset 4-й массив, содержащий 7000 изображений RGB (7000,299,299,3). Теперь мне нужно передать этот массив набора данных до sklearn.linear_model.LogisticRegression, так как он должен быть двухмерным.Как преобразовать 4d данные изображения RGB в массив 2d для LogisticRegression

Я попытался :: -

np.reshape(train_dataset[:],(7000, train_dataset.shape[1]*train_dataset.shape[2])) 

результаты :: -

ValueError: cannot reshape array of size 1877152797 into shape (7000,89401) 

Можете ли вы помочь в этом перепрофилирования train_dataset массива? Я хочу сохранить 7000 строк в массиве train_dataset.

ответ

1

У вас, кажется, всего 6999 изображений, извините за потерю. Проще всего это позволить Numpy вычислить недостающую форму для вас

np.reshape(train_dataset, (6999, -1)) 

или более надежно

np.reshape(train_dataset, (train_dataset.shape[0], -1)) 
+0

Спасибо, что помогли. Простое простое решение, #selfnote отныне правило большого пальца всегда быстрый взгляд на официальный документ API, а затем postoverflow post. – Anuj

+0

Ответ Павла правильный, но это может быть не очень хорошая идея: при этом ваша модель не сможет использовать пространственную организацию функций. Я бы настоятельно рекомендовал либо выполнить ручную установку на основе патчей (например, используя HoG, KMeans на патчах ...), чтобы создать пакет визуальных слов или использовать сверточные нейронные сети. Прочтите учебник по компьютерному видению, посвященный компьютерному видению, чтобы узнать больше об этом. Документация scikit-image также может быть полезной. – ogrisel

 Смежные вопросы

  • Нет связанных вопросов^_^