


Bagaimana untuk membuat matriks jarang dalam Python?
Dalam artikel ini, kami akan menunjukkan kepada anda apa itu matriks jarang dan cara mencipta matriks jarang dalam python.
Apakah matriks jarang?
Matriks jarang ialah matriks di mana kebanyakan elemen adalah 0. Iaitu, matriks mengandungi data untuk beberapa lokasi sahaja. Kebanyakan memori yang digunakan oleh matriks jarang terdiri daripada sifar.
Sebagai contoh -
M = [ [1, 0, 0, 0], [0, 0, 3, 0], [0, 0, 0, 0], [0, 0, 0, 2] ]
Menggunakan tatasusunan 2D untuk mewakili matriks jarang membuang banyak memori kerana sifar dalam matriks tidak berguna dalam kebanyakan kes. Jadi daripada menyimpan sifar bersama-sama dengan unsur bukan sifar, kami hanya menyimpan unsur bukan sifar. Ini melibatkan penggunaan tiga kali ganda untuk menyimpan unsur bukan sifar (baris, lajur, nilai).
Natural Language Processing (NLP) dan pengekodan data kedua-duanya menggunakan banyak matriks jarang. Jika kebanyakan elemen matriks adalah 0, kos penyimpanan untuk menyimpan semua elemen matriks akan menjadi tinggi.
Ini kerana kami hanya mempunyai beberapa titik data dan kebanyakan ruang storan diduduki oleh sifar berlebihan.
Kelebihan matriks jarang
Berikut adalah dua kelebihan utama menggunakan matriks jarang dan bukannya matriks mudah -
Penyimpanan - Oleh kerana terdapat kurang unsur bukan sifar daripada sifar, kurang memori boleh digunakan untuk menyimpan elemen ini secara individu.
Masa Pengiraan - Masa pengiraan boleh dijimatkan dengan mencipta struktur data secara logik yang merentasi unsur bukan sifar sahaja.
Bagaimana untuk mencipta matriks jarang dalam Python?
ScPy dalam Python menyediakan alatan untuk mencipta matriks jarang menggunakan pelbagai struktur data dan menukar matriks tumpat kepada matriks jarang.
Dalam Python, kita boleh mencipta matriks jarang menggunakan fungsi berikut -
csr_matrix() fungsi - Mencipta matriks jarang dalam format baris jarang termampat,
csc_matrix() fungsi - Mencipta matriks jarang dalam format lajur jarang mampat. ,,
Kaedah 1. Gunakan fungsi csr_matrix() untuk mencipta matriks jarang
Ia mencipta matriks jarang dalam format baris mampat jarang.
Tatabahasa
scipy.sparse.csr_matrix(shape=None, dtype=None)
Parameter
bentuk - ia adalah bentuk matriks
dtype - Ia adalah jenis data matriks
Algoritma (langkah)
Berikut adalah algoritma/langkah yang perlu diikuti untuk melaksanakan tugas yang diperlukan -
Gunakan kata kunci import untuk mengimport modul numpy dengan alias (np).
Gunakan kata kunci import untuk mengimport fungsi csr_matrix daripada modul scipy.
Gunakan fungsi csr_matrix() untuk mencipta 3 * 3 matriks jarang jenis data int (format row) dan tukar kepada tatasusunan menggunakan fungsi toarray().
Cetak matriks jarang yang dihasilkan.
Contoh
Atur cara berikut menggunakan fungsi csr_matrix() untuk mengembalikan matriks jarang (3x3) -
# importing numpy module with an alias name import numpy as np # importing csr_matrix function from scipy module from scipy.sparse import csr_matrix # Using csr_matrix function to create a 3 * 3 sparse matrix of int datatype # and converting into array sparse_matrix = csr_matrix((3, 3), dtype = np.int8).toarray() # printing the resultant sparse matrix print("The resultant sparse matrix:\n", sparse_matrix)
Output
Apabila dilaksanakan, program di atas akan menjana output berikut -
The resultant sparse matrix: [[0 0 0] [0 0 0] [0 0 0]]
Kaedah 2. Buat matriks jarang menggunakan fungsi csr_matrix() yang diberi tatasusunan Numpy
Algoritma (langkah)
Berikut adalah algoritma/langkah yang perlu diikuti untuk melaksanakan tugas yang diperlukan -
Gunakan kata kunci import untuk mengimport modul numpy dengan alias (np).
Gunakan kata kunci import untuk mengimport fungsi csr_matrix daripada modul scipy.
Gunakan fungsi numpy.array() untuk mencipta tatasusunan (mengembalikan ndarray. ndarray ialah objek tatasusunan yang memenuhi keperluan yang diberikan)
Contoh
# importing numpy module with alias name import numpy as np # importing csr_matrix function from scipy module from scipy.sparse import csr_matrix # Giving rows and columns values rows = np.array([0, 1, 0, 2, 1, 1]) columns = np.array([1, 0, 0, 2, 1, 2]) # Giving array data arrayData = np.array([1, 3, 2, 5, 7, 6]) # Using csr_matrix function to create a 3x3 sparse matrix sparse_matrix = csr_matrix((arrayData, (rows, columns)), shape = (3, 3)).toarray() # print the resultant sparse matrix print("The resultant sparse matrix:\n", sparse_matrix)
Output
Apabila dilaksanakan, program di atas akan menjana output berikut -
The resultant sparse matrix: [[2 1 0] [3 7 6] [0 0 5]]
Kaedah 3. Gunakan fungsi csc_matrix() untuk mencipta matriks jarang
Ia mencipta matriks jarang dalam format lajur jarang termampat.
Tatabahasa
scipy.sparse.csc_matrix(shape=None, dtype=None)
Parameter
bentuk - ia adalah bentuk matriks
dtype - Ia adalah jenis data matriks
Algoritma
Berikut adalah algoritma/langkah yang perlu diikuti untuk melaksanakan tugas yang diperlukan -
Gunakan kata kunci import untuk mengimport modul numpy dengan alias (np).
Gunakan kata kunci import untuk mengimport fungsi csc_matrix daripada modul scipy.
Buat 3*3 matriks jarang jenis data int (lajurformat) menggunakan fungsi csc_matrix() dan tukar kepada tatasusunan menggunakan fungsi toarray().
Cetak matriks jarang yang dihasilkan.
Contoh
Atur cara berikut mengembalikan matriks jarang (3x3) dalam format kolumnar menggunakan fungsi csc_matrix() -
# importing numpy module with an alias name import numpy as np # importing csc_matrix function from scipy module from scipy.sparse import csc_matrix # Using csc_matrix function to create a 3 * 3 sparse matrix of int datatype # and converting into array sparse_matrix = csc_matrix((3, 3), dtype = np.int8).toarray() # printing the resultant sparse matrix print("The resultant sparse matrix:\n", sparse_matrix)
Output
Apabila dilaksanakan, program di atas akan menjana output berikut -
The resultant sparse matrix: [[0 0 0] [0 0 0] [0 0 0]]
Kaedah 4. Buat matriks jarang menggunakan fungsi csc_matrix() yang diberi tatasusunan Numpy
Contoh
Atur cara berikut mengembalikan matriks jarang (3x3) dalam format lajur integer menggunakan fungsi csc_matrix() -
import numpy as np # importing csc_matrix function from scipy module from scipy.sparse import csc_matrix # Giving rows and columns values rows = np.array([0, 1, 0, 2, 1, 1]) columns = np.array([1, 0, 0, 2, 1, 2]) # Giving array data arrayData = np.array([1, 3, 2, 5, 7, 6]) # Using csc_matrix function to create a 3x3 sparse matrix in column format sparse_matrix = csc_matrix((arrayData, (rows, columns)), shape = (3, 3)).toarray() # print the resultant sparse matrix print("The resultant sparse matrix:\n", sparse_matrix)
Output
Apabila dilaksanakan, program di atas akan menjana output berikut -
The resultant sparse matrix: [[2 1 0] [3 7 6] [0 0 5]]
Kesimpulan
Dalam tutorial ini, kami mempelajari empat cara berbeza untuk menjana matriks jarang dalam Python. Kami juga mempelajari cara menjana matriks jarang daripada tatasusunan numpy.
Atas ialah kandungan terperinci Bagaimana untuk membuat matriks jarang dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP dan Python mempunyai kelebihan dan kekurangan mereka sendiri, dan pilihannya bergantung kepada keperluan projek dan keutamaan peribadi. 1.PHP sesuai untuk pembangunan pesat dan penyelenggaraan aplikasi web berskala besar. 2. Python menguasai bidang sains data dan pembelajaran mesin.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Docker menggunakan ciri -ciri kernel Linux untuk menyediakan persekitaran berjalan yang cekap dan terpencil. Prinsip kerjanya adalah seperti berikut: 1. Cermin digunakan sebagai templat baca sahaja, yang mengandungi semua yang anda perlukan untuk menjalankan aplikasi; 2. Sistem Fail Kesatuan (Unionfs) menyusun pelbagai sistem fail, hanya menyimpan perbezaan, menjimatkan ruang dan mempercepatkan; 3. Daemon menguruskan cermin dan bekas, dan pelanggan menggunakannya untuk interaksi; 4. Ruang nama dan cgroups melaksanakan pengasingan kontena dan batasan sumber; 5. Pelbagai mod rangkaian menyokong interkoneksi kontena. Hanya dengan memahami konsep -konsep teras ini, anda boleh menggunakan Docker dengan lebih baik.

Kod VS boleh digunakan untuk menulis Python dan menyediakan banyak ciri yang menjadikannya alat yang ideal untuk membangunkan aplikasi python. Ia membolehkan pengguna untuk: memasang sambungan python untuk mendapatkan fungsi seperti penyempurnaan kod, penonjolan sintaks, dan debugging. Gunakan debugger untuk mengesan kod langkah demi langkah, cari dan selesaikan kesilapan. Mengintegrasikan Git untuk Kawalan Versi. Gunakan alat pemformatan kod untuk mengekalkan konsistensi kod. Gunakan alat linting untuk melihat masalah yang berpotensi lebih awal.

Dalam kod VS, anda boleh menjalankan program di terminal melalui langkah -langkah berikut: Sediakan kod dan buka terminal bersepadu untuk memastikan bahawa direktori kod selaras dengan direktori kerja terminal. Pilih arahan Run mengikut bahasa pengaturcaraan (seperti python python your_file_name.py) untuk memeriksa sama ada ia berjalan dengan jayanya dan menyelesaikan kesilapan. Gunakan debugger untuk meningkatkan kecekapan debug.

Sambungan kod VS menimbulkan risiko yang berniat jahat, seperti menyembunyikan kod jahat, mengeksploitasi kelemahan, dan melancap sebagai sambungan yang sah. Kaedah untuk mengenal pasti sambungan yang berniat jahat termasuk: memeriksa penerbit, membaca komen, memeriksa kod, dan memasang dengan berhati -hati. Langkah -langkah keselamatan juga termasuk: kesedaran keselamatan, tabiat yang baik, kemas kini tetap dan perisian antivirus.

Python cemerlang dalam automasi, skrip, dan pengurusan tugas. 1) Automasi: Sandaran fail direalisasikan melalui perpustakaan standard seperti OS dan Shutil. 2) Penulisan Skrip: Gunakan Perpustakaan Psutil untuk memantau sumber sistem. 3) Pengurusan Tugas: Gunakan perpustakaan jadual untuk menjadualkan tugas. Kemudahan penggunaan Python dan sokongan perpustakaan yang kaya menjadikannya alat pilihan di kawasan ini.

Kod VS boleh dijalankan pada Windows 8, tetapi pengalaman mungkin tidak hebat. Mula -mula pastikan sistem telah dikemas kini ke patch terkini, kemudian muat turun pakej pemasangan kod VS yang sepadan dengan seni bina sistem dan pasangnya seperti yang diminta. Selepas pemasangan, sedar bahawa beberapa sambungan mungkin tidak sesuai dengan Windows 8 dan perlu mencari sambungan alternatif atau menggunakan sistem Windows yang lebih baru dalam mesin maya. Pasang sambungan yang diperlukan untuk memeriksa sama ada ia berfungsi dengan betul. Walaupun kod VS boleh dilaksanakan pada Windows 8, disyorkan untuk menaik taraf ke sistem Windows yang lebih baru untuk pengalaman dan keselamatan pembangunan yang lebih baik.
