0

我有train_dataset 4d陣列保存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陣列的幫助?我想在train_dataset數組中保留7000行。

回答

1

您似乎只有6,999張圖像,對於您的損失感到抱歉。最簡單的是讓numpy的計算丟失的形狀爲你

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

或更有力

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

感謝那些幫助。有一個簡單的解決方案,從現在開始#selfnote的拇指規則總是快速瀏覽一下API的官方文檔,然後是stackoverflow後。 – Anuj

+0

Paul的答案是正確的,但這可能不是一個好主意:通過這樣做,您的模型將無法利用這些功能的空間組織。我強烈建議要麼執行基於手動補丁的特徵提取(例如,使用HoG,補丁上的KMeans ...)來構建一包視覺單詞或使用卷積神經網絡。閱讀關於機器學習計算機視覺的一些簡介教科書,以瞭解更多信息。 scikit-image文檔也可能有幫助。 – ogrisel