理解NumPy 中的錯誤:「操作數無法一起廣播」
使用NumPy 數組時,注意這一點至關重要數組形狀以避免廣播錯誤。在給定的場景中,您遇到錯誤「ValueError:運算元無法與形狀一起廣播。」
出現此錯誤是因為 NumPy 的運算子(例如 *)預設執行逐元素操作。但是,如果數組具有不同的形狀,NumPy 會嘗試廣播它們,這可能會導致相容性問題。
廣播規則和相容性
廣播涉及擴展一個數組的維度或兩個數組以使它們相容於元素操作。可以廣播大小為 1 的維度或缺失的維度。
在您的情況下,X 的形狀為 (97, 2),y 的形狀為 (2, 1)。廣播維度將導致:
97 2 2 1
如您所見,第一個維度(97 和 2)發生衝突。根據廣播規則,衝突的維度必須相同或其中一個應該為 1。
解決廣播錯誤
要解決此問題,您需要確保數組的維度是相容的。在您的情況下,您可以使用NumPy 的點積,它執行矩陣乘法:
X.dot(y)
矩陣乘法遵循不同的相容性規則,確保第一個數組中的列數與第二個數組中的行數符合大批。由於 X 有 2 列,y 有 2 行,因此矩陣乘法有效,得到形狀為 (97, 1) 的向量。
以上是為什麼我在 NumPy 中收到'操作數無法一起廣播”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!