Ralat Penyiaran dalam Pendaraban Matriks NumPy
Apabila melakukan pendaraban matriks antara dua tatasusunan NumPy, adalah penting untuk memastikan bentuknya serasi. Walau bagaimanapun, penggunaan operator pendaraban (*) yang salah boleh menyebabkan ralat "ValueError: operan tidak dapat disiarkan bersama-sama bentuk".
Pertimbangkan dua tatasusunan: X dengan bentuk (m, n) dan y dengan bentuk (n, 1). Operasi yang dimaksudkan ialah pendaraban matriks, yang sepatutnya menghasilkan vektor (m, 1). Walau bagaimanapun, operator pendaraban dalam NumPy digunakan untuk operasi mengikut unsur, yang memerlukan penyiaran untuk menjajarkan dimensi.
Dalam contoh yang diberikan, peraturan penyiaran dilanggar kerana dimensi pertama X (97) bercanggah dengan dimensi sepadan y (2). Oleh itu, operasi pendaraban gagal dan mencetuskan ralat.
Untuk melakukan pendaraban matriks, anda harus menggunakan kaedah dot(). Kaedah ini direka khusus untuk operasi matriks dan memastikan penjajaran dimensi yang betul. Menggunakan dot() dan bukannya * menyelesaikan isu penyiaran dan menghasilkan vektor yang dijangkakan (m, 1).
Selain itu, ambil perhatian bahawa menggunakan jenis matriks dalam NumPy (numpy.matrix) boleh merumitkan operasi. Secara umumnya disyorkan untuk menggunakan numpy.ndarray untuk tatasusunan sebaliknya.
Atas ialah kandungan terperinci Mengapa Pendaraban Matriks NumPy Gagal dengan Ralat Penyiaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!