Dalam tutorial ini, saya akan menunjukkan cara menggunakan fungsi Numpy dot (np. dot), untuk menghitung produk dot di Numpy Show
Saya akan menjelaskan dengan tepat apa fungsinya, bagaimana sintaks bekerja, dan saya akan menunjukkan kepada Anda contoh yang jelas tentang cara menggunakan np. dot Daftar isi Jika Anda memerlukan sesuatu yang spesifik, Anda dapat mengklik salah satu tautan di atas, dan itu akan membawa Anda ke bagian tutorial yang sesuai Karena itu, jika Anda baru mengenal Numpy, atau memerlukan penyegaran cepat tentang produk dot matematika, Anda mungkin harus membaca seluruh tutorial Pengantar Cepat Numpy DotPertama-tama, mari kita mulai dengan dasar-dasarnya Apa yang dilakukan Numpydot? Pada level tinggi, Numpy dot menghitung perkalian titik dari dua larik Numpy Jika Anda sedikit baru di Numpy, atau jika Anda tidak sepenuhnya memahami produk dot, itu mungkin tidak sepenuhnya masuk akal. Jadi, mari kita segera tinjau beberapa dasar tentang Numpy dan tentang produk dot Numpy dot beroperasi pada array NumpyMari kita mulai dengan Numpy Seperti yang mungkin Anda ketahui, Numpy adalah paket tambahan untuk bahasa pemrograman Python Kami kebanyakan menggunakan Numpy untuk manipulasi data dan komputasi ilmiah, tetapi kami menggunakan Numpy pada jenis data tertentu dalam struktur data tertentu Numpy adalah Paket untuk Bekerja dengan Data Numerik dengan PythonSecara khusus, Numpy membuat dan mengoperasikan array Numpy Array Numpy adalah struktur data yang menyimpan data numerik dalam struktur baris dan kolom Jadi misalnya, array Numpy 2 dimensi terlihat seperti ini Array numpy bisa datang dalam berbagai bentuk dan ukuran. Misalnya, kita dapat membangun array 1 dimensi, array 2 dimensi, dan array n dimensi Selain itu, kita dapat membuat array Numpy di mana Numbers memiliki berbagai properti berbeda. Sebagai contoh, kita dapat membuat larik yang berisi angka yang terdistribusi normal, angka yang diambil dari distribusi seragam, angka yang semuanya memiliki nilai yang sama, hanya untuk beberapa nama. Jadi Numpy memiliki beragam fungsi untuk membuat array Numpy dengan berbagai jenis properti Numpy memiliki Fungsi untuk Melakukan Perhitungan dengan Numpy ArraySelain memiliki fungsi untuk membuat array Numpy, paket Numpy juga memiliki fungsi untuk pengoperasian dan komputasi dengan array Numpy Jadi Numpy memiliki banyak fungsi untuk melakukan perhitungan matematis, seperti menghitung jumlah array, menghitung eksponensial nilai array, dan banyak lagi. Selain itu, Numpy memiliki fungsi untuk melakukan operasi lanjutan, seperti operasi dari aljabar linier np. dot menghitung produk dot di NumpyJadi apa fungsi Numpy dot? Penjelasan sederhananya adalah bahwa np.dot(2,3)_2 menghitung perkalian titik Mengutip entri di Wikipedia, produk titik adalah operasi yang mengambil dua urutan angka yang panjangnya sama dan mengembalikan satu angka Karena itu, fungsi Numpy dot bekerja sedikit berbeda tergantung pada input yang tepat Ada tiga kasus luas yang akan kita pertimbangkan dengan np.dot(2,3)2
Mari kita lihat bagaimana Numpy dot beroperasi untuk berbagai kasus ini Jika array input keduanya adalah array 1 dimensi, np. dot menghitung perkalian titik vektorMisalkan kita memiliki dua larik Numpy, dan , dan setiap larik memiliki 3 nilai. Diberikan dua larik 1 dimensi, np.dot(2,3)2 akan menghitung perkalian titik Produk titik dapat dihitung sebagai berikut Perhatikan apa yang terjadi di sini. Array ini memiliki panjang yang sama, dan setiap array memiliki 3 nilai Saat kita menghitung perkalian titik, kita mengalikan nilai pertama dengan nilai pertama . Kita mengalikan nilai kedua dengan nilai kedua . Dan kita mengalikan nilai ketiga dengan nilai ketiga . Kemudian, kami mengambil nilai yang dihasilkan, dan menjumlahkannya. Keluarannya adalah nilai skalar tunggal … dalam contoh ini, . Dalam istilah matematika, kita bisa menggeneralisasi contoh di atas. Jika kita memiliki dua vektor dan , dan setiap vektor memiliki elemen, maka perkalian titik is given by the equation: (1) Pada dasarnya, saat kita mengambil perkalian titik dari dua larik Numpy, kita menghitung jumlah perkalian berpasangan dari dua larik tersebut Jika salah satu input adalah skalar, np. dot melakukan perkalian skalarKasus kedua adalah ketika satu input adalah nilai skalar , dan satu input adalah larik Numpy, yang di sini kita sebut . Jika kita menggunakan Numpy dot pada input ini dengan kode np.dot(2,3)5 Numpy akan melakukan perkalian skalar pada array Jadi ketika kita menggunakan Numpy dot dengan satu skalar dan satu larik Numpy, itu mengalikan setiap nilai larik dengan skalar dan menghasilkan larik Numpy baru Jika kedua input adalah array 2D, np. dot melakukan perkalian matriksKasus terakhir yang akan kita bahas adalah ketika kedua array input adalah array 2 dimensi Dalam hal ini, dengan dua larik 2D, fungsi np.dot(2,3)2 akan melakukan perkalian matriks Penjelasan lengkap tentang perkalian matriks berada di luar cakupan tutorial ini, tetapi mari kita lihat contoh singkatnya Misalkan Anda memiliki dua larik 2D, dan . Selanjutnya, mari gandakan array tersebut menggunakan perkalian matriks Selama perkalian matriks, kita mengalikan nilai baris dengan nilai kolom dan menjumlahkannya dengan cara berikut. Dan inilah hasil akhir yang dihitung Perhatikan bahwa larik keluaran, , memiliki jumlah baris yang sama dengan dan jumlah kolom yang sama dengan . Selain itu, setiap nilai dalam larik keluaran dihitung dengan menjumlahkan hasil baris ke-i dari dan baris ke-j dari . Secara umum, untuk menghitung larik keluaran , setiap nilai larik keluaran didefinisikan sebagai. (2) Jika Anda tidak terbiasa dengan aljabar linier secara umum, dan aljabar matriks secara khusus, saya menyadari bahwa persamaan ini bisa sedikit membingungkan. Bahkan mungkin sedikit mengintimidasi Yang mengatakan, jika Anda ingin mempelajari lebih lanjut tentang operasi ini, saya sarankan Anda membaca buku Aljabar Linear dan Aplikasinya, oleh David Lay dan rekan. Ini adalah buku yang sangat mudah didekati tentang aljabar linier yang akan membantu Anda memahami beberapa operasi yang kami lakukan dengan Numpy dot Baik. Jadi sekarang kita telah melihat apa yang dilakukan Numpy dot, mari kita lihat lebih dekat sintaksnya Sintaks Numpy DotDi sini, saya akan menjelaskan sintaks dari fungsi Numpy dot Catatan singkatSatu hal sebelum kita melihat sintaks Untuk menggunakan fungsi Numpy, Anda harus mengimpor Numpy terlebih dahulu. Anda dapat melakukannya dengan kode berikut import numpy as np Ini penting, karena cara Anda mengimpor Numpy akan memengaruhi sintaks Ini adalah konvensi umum di antara ilmuwan data Python untuk mengimpor Numpy dengan alias ' np.dot(2,3)7', dan kami akan tetap berpegang pada konvensi itu di sini np. sintaks titikSintaks np.dot(2,3)2 sangat sederhana Dengan asumsi bahwa Anda telah mengimpor Numpy dengan alias np.dot(2,3)7, Anda memanggil fungsi tersebut sebagai 60 Kemudian, di dalam tanda kurung, terdapat beberapa parameter yang memungkinkan Anda memberikan input ke fungsi tersebut Mari kita lihat input tersebut Parameter np. dotAda 2 parameter inti untuk fungsi 60
Mari kita lihat dengan cepat, satu per satu 6_2 (wajib) Parameter 62 memungkinkan Anda menentukan nilai input pertama atau larik ke fungsi Secara teknis, argumen untuk parameter ini bisa berupa nilai skalar, atau objek "mirip larik". Karena memungkinkan objek seperti array, ini bisa menjadi array Numpy yang tepat, atau bisa berupa daftar Python, tuple, dll. Nilai skalar seperti 6_6 atau 67 juga akan berfungsi Perlu diingat bahwa Anda harus memberikan argumen untuk parameter ini 6_3 (wajib) Parameter 63 memungkinkan Anda menentukan nilai input kedua atau larik ke fungsi Mirip dengan parameter 6_2, argumen untuk 63 dapat berupa nilai skalar, atau objek "mirip larik" apa pun. Argumen yang dapat diterima untuk parameter ini termasuk array Numpy, daftar Python, dan tupel. Nilai skalar seperti 6_6 atau 67 juga dapat diterima Perlu diingat bahwa Anda harus memberikan argumen untuk parameter ini np.dot(2,[5,6])_4 (opsional) Perhatikan bahwa 6_0 juga memiliki parameter ________23______4. Ini agak jarang digunakan, jadi kami tidak akan membahasnya di sini. Untuk informasi selengkapnya tentang parameter ini, tinjau dokumentasi resmi Keluaran dari np. dotOutput dari 6_0 tergantung pada input Ada beberapa kasus
Jadi seperti yang Anda lihat, hasilnya sangat tergantung pada bagaimana Anda menggunakan fungsi tersebut Dengan mengingat hal itu, mari kita lihat beberapa contoh sehingga Anda dapat melihat cara kerjanya, dan melihat berbagai jenis keluaran yang 60 menghasilkan jenis masukan tertentu Contoh. Cara Menghitung Produk Dot di NumpyBaik. Mari kita kerjakan beberapa contoh langkah demi langkah Jika Anda memerlukan sesuatu yang spesifik, Anda dapat mengklik salah satu tautan berikut, dan itu akan membawa Anda ke contoh yang sesuai Contoh Jalankan kode ini terlebih dahuluSebelum Anda menjalankan salah satu contoh, Anda harus mengimpor Numpy terlebih dahulu Anda dapat melakukannya dengan kode berikut import numpy as np Setelah Anda selesai melakukannya, Anda harus siap untuk pergi CONTOH 1. Kalikan dua angkaBaik. Mari kita mulai dengan contoh sederhana Di sini, kita akan menggunakan dua angka (mis. e. , nilai skalar) sebagai input ke 60 np.dot(2,3) KELUAR 6_Penjelasan Ini mungkin sedikit tidak terduga, tetapi sangat sederhana Di sini, kami memanggil 60 dengan dua nilai skalar, 2 dan 3 Ketika kita memanggil 60 dengan dua skalar, itu hanya mengalikan keduanya Jelas array([10, 12])6 CONTOH 2. Kalikan Angka dan ArraySelanjutnya, mari berikan array dan skalar sebagai input Di sini, kami akan menyediakan skalar (bilangan bulat) dan daftar Python. Alih-alih daftar Python, kami juga dapat menyediakan larik Numpy, tetapi saya menggunakan daftar Python sebagai gantinya karena membuat operasi sedikit lebih mudah dipahami di sini Mari lihat np.dot(2,[5,6]) KELUAR array([10, 12])Penjelasan Sekali lagi, ini sangat sederhana Argumen pertama untuk fungsi tersebut adalah nilai skalar 2 Argumen kedua untuk fungsi tersebut adalah daftar Python array([10, 12])7 Saat kami menyediakan skalar sebagai satu masukan dan daftar (atau larik Numpy) sebagai masukan lainnya, 60 cukup mengalikan nilai larik dengan skalar Secara matematis, kami menganggap ini sebagai perkalian skalar dari vektor atau matriks CONTOH 3. Hitung Produk Dot dari Dua Array 1DSelanjutnya, mari masukkan dua daftar 1 dimensi Di sini, kami akan menggunakan dua daftar Python, tetapi kami juga dapat menggunakan array Numpy 1D. Saya menggunakan daftar Python karena membuat operasi sedikit lebih mudah dipahami secara sekilas Mari lihat np.dot([3,4,5],[7,8,9]) KELUAR 98_Penjelasan Apa yang terjadi di sini? Di sini, 6_0 menghitung produk titik dari dua input Masukan ini adalah daftar Python 1 dimensi. Dan seperti yang saya katakan sebelumnya, kita juga bisa menggunakan array Numpy 1D Secara matematis, daftar 1D dan array Numpy 1D seperti vektor Saat kita bekerja dengan vektor dan mengambil perkalian titik, perkalian titik dihitung dengan yang kita lihat sebelumnya
Jadi ketika Numpy dot memiliki dua daftar atau array 1D sebagai input … … dibutuhkan produk dari elemen berpasangan, dan kemudian menjumlahkannya Dan hasilnya adalah nilai skalar. Dalam hal ini, hasilnya adalah 98 CONTOH 4. Lakukan Perkalian Matriks pada Dua Larik 2DTerakhir, mari kita lihat apa yang terjadi saat kita menggunakan Numpy dot pada dua larik 2 dimensi Buat ArrayPertama, mari kita buat dua array Numpy 2 dimensi Untuk melakukan ini, kami akan menggunakan fungsi np.dot([3,4,5],[7,8,9])0 untuk membuat urutan angka, lalu menggunakan metode pembentukan ulang Numpy untuk membentuk ulang angka menjadi bentuk 2D A_array_2d = np.arange(start = 3, stop = 9).reshape((2,3)) B_array_2d = np.arange(start = 10, stop = 16).reshape((3,2)) Dan mari kita cetak, supaya Anda bisa melihat isinya print(A_array_2d) KELUAR import numpy as np0 import numpy as np1 KELUAR import numpy as np2 Perhatikan bahwa kedua array Numpy ini adalah 2 dimensi. Karena itu, jumlah baris di np.dot([3,4,5],[7,8,9])1 sama dengan jumlah kolom di np.dot([3,4,5],[7,8,9])2Gunakan np. dot Baik. Sekarang mari kita gunakan fungsi Numpy dot pada dua larik ini import numpy as np_3 KELUAR import numpy as np4Penjelasan Jadi apa yang terjadi di sini? Dalam hal ini, kami menggunakan dua array Numpy 2 dimensi sebagai input Saat kita menggunakan array 2D sebagai input, 60 menghitung produk matriks dari array Ketika melakukan ini, 60 menghitung nilai array keluaran sesuai dengan persamaan 2 yang kita
Jadi di balik layar, inilah yang dilakukan Numpy saat kita menjalankan kode np.dot([3,4,5],[7,8,9])5 Perhatikan baik-baik. Pada gambar di atas, Anda dapat melihat bahwa perhitungan mengalikan nilai baris A dengan nilai kolom B, menjumlahkannya, dan memasukkannya ke dalam larik hasil akhir, dengan nilai berikut Operasi ini dikenal sebagai produk matriks Jadi sekali lagi. ketika kita menggunakan Numpy dot pada dua larik 2 dimensi, 60 menghitung perkalian matriks Saya mengerti bahwa ini mungkin sedikit membingungkan jika Anda tidak memiliki banyak pengalaman dengan aljabar linier. Jika itu masalahnya, saya sarankan Anda membaca tentang aljabar linier secara umum, dan perkalian matriks pada khususnya Pertanyaan yang sering diajukan tentang Numpy DotSekarang kita telah melihat beberapa contoh, mari kita lihat beberapa pertanyaan umum tentang fungsi 60 Pertanyaan yang sering diajukan pertanyaan 1. Apa perbedaan antara 6 _0 dan np.dot([3,4,5],[7,8,9]) 9 ?Numpy dot dan Numpy matmul serupa, tetapi berperilaku berbeda untuk beberapa jenis masukan Dua perbedaan besar adalah untuk
Mari kita lihat satu per satu Perkalian dengan skalarPerbedaan pertama antara 6_0 dan np.dot([3,4,5],[7,8,9])9 adalah bahwa 60 memungkinkan Anda mengalikan dengan nilai skalar, tetapi np.dot([3,4,5],[7,8,9])9 tidak Seperti yang kita lihat di , ketika kita menggunakan 60 dengan satu skalar (mis. g. , bilangan bulat) dan larik/daftar, Numpy dot hanya akan mengalikan setiap nilai larik dengan nilai skalar np.dot(2,[5,6]) KELUAR array([10, 12]) Namun, jika Anda mencoba melakukan ini dengan np.dot([3,4,5],[7,8,9])9 Anda akan mendapatkan kesalahan import numpy as np_7 KELUAR import numpy as np8Perkalian array dimensi tinggi Area kedua di mana 60 dan np.dot([3,4,5],[7,8,9])9 berbeda adalah ketika mereka beroperasi pada array dimensi tinggi Menurut dokumentasi… Saat Anda menggunakan np.dot(2,3)2
Tetapi ketika Anda menggunakan A_array_2d = np.arange(start = 3, stop = 9).reshape((2,3)) B_array_2d = np.arange(start = 10, stop = 16).reshape((3,2))_3
Pada akhirnya, 6_0 dan np.dot([3,4,5],[7,8,9])9 berperilaku berbeda untuk perkalian skalar, dan untuk perkalian input dimensi yang lebih tinggi Pertanyaan 2. Apa perbedaan antara 6 _0 dan 98 1 ?60 dan 981 sangat mirip, dan secara efektif melakukan operasi yang sama Perbedaannya adalah bahwa 60 adalah fungsi Python dan 981 adalah metode array Numpy Jadi mereka secara efektif melakukan hal yang sama, tetapi Anda memanggil mereka dengan cara yang sedikit berbeda Katakanlah kita memiliki dua array 2 dimensi A_array_2d = np.arange(start = 3, stop = 9).reshape((2,3)) B_array_2d = np.arange(start = 10, stop = 16).reshape((3,2)) Kita dapat memanggil fungsi 6_0 sebagai berikut import numpy as np_3 Tapi kami menggunakan apa yang disebut "sintaks titik" untuk memanggil metode print(A_array_2d)3 np.dot(2,3)_1 Outputnya sama, tetapi sintaksnya sedikit berbeda Jika Anda masih bingung tentang hal ini, pastikan untuk membaca lebih lanjut tentang perbedaan antara fungsi Python dan metode Python Tinggalkan pertanyaan Anda yang lain di komentar di bawahApakah Anda masih memiliki pertanyaan tentang fungsi Numpy dot? Jika demikian, tinggalkan pertanyaan Anda di bagian komentar di bawah Bergabunglah dengan kursus kami untuk mempelajari lebih lanjut tentang NumpyDalam tutorial ini, saya telah menjelaskan cara menggunakan fungsi 60 untuk menghitung produk titik dari array 1D dan melakukan perkalian matriks dari array 2D Ini akan membantu Anda memahami np.dot(2,3)2, tetapi jika Anda benar-benar ingin belajar Numpy, masih banyak yang harus dipelajari Jika Anda serius ingin menguasai Numpy, dan serius tentang ilmu data dengan Python, Anda harus mempertimbangkan untuk bergabung dengan kursus premium kami yang disebut Numpy Mastery Numpy Mastery akan mengajari Anda semua yang perlu Anda ketahui tentang Numpy, termasuk
Selain itu, kursus ini akan menunjukkan sistem latihan yang akan membantu Anda menguasai sintaks dalam beberapa minggu. Kami akan menunjukkan kepada Anda sistem latihan yang memungkinkan Anda menghafal semua sintaks Numpy yang Anda pelajari. Jika Anda kesulitan mengingat sintaks Numpy, ini adalah kursus yang Anda cari Bagaimana Anda menemukan produk tuple di Python?Bila diperlukan untuk melakukan perkalian tuple, metode 'zip' dan ekspresi generator dapat digunakan . Metode zip mengambil iterables, menggabungkannya menjadi sebuah tuple, dan mengembalikannya sebagai hasilnya. Generator adalah cara sederhana untuk membuat iterator.
Bagaimana Anda mengalikan elemen tuple dengan Python?Operator dapat digunakan untuk menggabungkan atau mengalikan tupel. Penggabungan dilakukan dengan operator +, dan perkalian dilakukan dengan operator * .
Bagaimana cara melakukan perkalian titik dengan Python?Dengan Python, salah satu cara menghitung perkalian titik adalah menjumlahkan pemahaman daftar dengan melakukan perkalian berdasarkan elemen . Alternatifnya, kita bisa menggunakan np. titik() fungsi. Mengikuti konvensi memiliki x dan y sebagai vektor kolom, perkalian titik sama dengan perkalian matriks xTy x T y.
Bisakah Anda melipatgandakan tuple?Operasi aritmatika. Jika penjumlahan dan perkalian dapat dilakukan pada entri dalam sebuah tupel, maka penjumlahan dan perkalian skalar pada tupel dapat didefinisikan |