Rumah pembangunan bahagian belakang Tutorial Python Teknik analisis komponen utama PCA (pengurangan dimensi) dalam Python

Teknik analisis komponen utama PCA (pengurangan dimensi) dalam Python

Jun 09, 2023 pm 09:57 PM
python Pengurangan dimensi pca

Kemahiran analisis komponen utama PCA (pengurangan dimensi) dalam Python

Analisis komponen utama PCA (Analisis Komponen Utama) ialah teknologi pengurangan dimensi data yang sangat biasa digunakan. Data boleh diproses melalui algoritma PCA untuk menemui ciri-ciri yang wujud bagi data dan menyediakan pengumpulan data yang lebih tepat dan berkesan untuk analisis dan pemodelan data seterusnya.

Di bawah ini kami akan memperkenalkan beberapa teknik untuk menggunakan analisis komponen utama PCA dalam Python.

  1. Cara menormalkan data

Sebelum melakukan analisis pengurangan dimensi PCA, anda perlu menormalkan data terlebih dahulu. Ini kerana algoritma PCA mengira komponen utama melalui pemaksimuman varians, dan bukannya sekadar saiz nilai elemen, jadi ia mengambil kira sepenuhnya kesan varians yang sepadan bagi setiap elemen.

Terdapat banyak kaedah untuk menormalkan data dalam Python. Kaedah paling asas ialah menyeragamkan data ke dalam taburan normal piawai dengan min 0 dan varians 1 melalui kelas StandardScaler perpustakaan sklearn Kodnya adalah seperti berikut:

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
data_std = scaler.fit_transform(data)
Salin selepas log masuk

Dengan cara ini, kita boleh mendapatkan data yang telah dinormalkan Data pengumpulan data yang diproses_std.

  1. Menggunakan PCA untuk pengurangan dimensi

Kod untuk menggunakan PCA untuk mengurangkan dimensi data adalah sangat mudah. Modul PCA telah disepadukan dalam perpustakaan sklearn Kami hanya perlu menetapkan bilangan komponen utama yang dikekalkan selepas pengurangan dimensi apabila memanggil kelas PCA. Sebagai contoh, kod berikut mengurangkan data kepada 2 komponen utama:

from sklearn.decomposition import PCA

pca = PCA(n_components=2)
data_pca = pca.fit_transform(data_std)
Salin selepas log masuk

Antaranya, data_pca mengembalikan data baharu selepas pemprosesan pengurangan dimensi PCA.

  1. Bagaimana untuk memilih bilangan komponen utama selepas pengurangan dimensi

Apabila sebenarnya menggunakan PCA untuk pengurangan dimensi data, kita perlu memilih bilangan komponen utama yang sesuai untuk mencapai kesan pengurangan Dimensi yang terbaik. Biasanya, kita boleh menilai dengan memplot graf kadar sumbangan varians kumulatif.

Kadar sumbangan varians kumulatif mewakili peratusan jumlah varians n komponen utama pertama kepada jumlah varians, contohnya:

import numpy as np

pca = PCA()
pca.fit(data_std)

cum_var_exp = np.cumsum(pca.explained_variance_ratio_)
Salin selepas log masuk

Dengan melukis graf kadar sumbangan varians terkumpul, kita boleh perhatikan bilangan komponen utama Trend perubahan kadar sumbangan varians kumulatif apabila meningkat secara beransur-ansur daripada 1 untuk menganggarkan bilangan komponen utama yang sesuai. Kodnya adalah seperti berikut:

import matplotlib.pyplot as plt

plt.bar(range(1, 6), pca.explained_variance_ratio_, alpha=0.5, align='center')
plt.step(range(1, 6), cum_var_exp, where='mid')
plt.ylabel('Explained variance ratio')
plt.xlabel('Principal components')
plt.show()
Salin selepas log masuk

Garis merah dalam rajah mewakili kadar sumbangan varians kumulatif, paksi-x mewakili bilangan komponen utama dan paksi-y mewakili bahagian varians yang dijelaskan. Ia boleh didapati bahawa kadar sumbangan varians bagi dua komponen utama pertama adalah hampir kepada 1, jadi memilih dua komponen utama boleh memenuhi keperluan kebanyakan tugas analisis.

  1. Cara untuk menggambarkan data selepas pengurangan dimensi PCA

Akhir sekali, kita boleh menggunakan fungsi serakan perpustakaan matplotlib untuk menggambarkan data selepas pengurangan dimensi PCA. Contohnya, kod berikut mengurangkan data daripada 4 dimensi asal kepada 2 dimensi melalui PCA, dan kemudian memaparkannya secara visual:

import matplotlib.pyplot as plt

x = data_pca[:, 0]
y = data_pca[:, 1]
labels = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
colors = ['b', 'g', 'r', 'c', 'm', 'y', 'k', 'pink', 'brown', 'orange']

for i, label in enumerate(np.unique(labels)):
    plt.scatter(x[labels == label], y[labels == label], c=colors[i], label=label, alpha=0.7)

plt.legend()
plt.xlabel('Principal Component 1')
plt.ylabel('Principal Component 2')
plt.show()
Salin selepas log masuk

Warna dan label dalam rajah masing-masing sepadan dengan label berangka dalam data asal . Melalui visualisasi Dengan data yang dikurangkan secara dimensi, kami dapat memahami dengan lebih baik struktur dan ciri data.

Ringkasnya, menggunakan teknologi analisis komponen utama PCA boleh membantu kami mengurangkan dimensi data dan dengan itu lebih memahami struktur dan ciri data. Melalui perpustakaan sklearn dan matplotlib Python, kami boleh melaksanakan dan menggambarkan algoritma PCA dengan sangat mudah.

Atas ialah kandungan terperinci Teknik analisis komponen utama PCA (pengurangan dimensi) dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular PHP dan Python: Membandingkan dua bahasa pengaturcaraan yang popular Apr 14, 2025 am 12:13 AM

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

Bagaimana Debian Readdir Bersepadu Dengan Alat Lain Bagaimana Debian Readdir Bersepadu Dengan Alat Lain Apr 13, 2025 am 09:42 AM

Fungsi Readdir dalam sistem Debian adalah panggilan sistem yang digunakan untuk membaca kandungan direktori dan sering digunakan dalam pengaturcaraan C. Artikel ini akan menerangkan cara mengintegrasikan Readdir dengan alat lain untuk meningkatkan fungsinya. Kaedah 1: Menggabungkan Program Bahasa C dan Pipeline Pertama, tulis program C untuk memanggil fungsi Readdir dan output hasilnya:#termasuk#termasuk#includeintMain (intargc, char*argv []) {dir*dir; structdirent*entry; if (argc! = 2) {

Python dan Masa: Memanfaatkan masa belajar anda Python dan Masa: Memanfaatkan masa belajar anda Apr 14, 2025 am 12:02 AM

Untuk memaksimumkan kecekapan pembelajaran Python dalam masa yang terhad, anda boleh menggunakan modul, masa, dan modul Python. 1. Modul DateTime digunakan untuk merakam dan merancang masa pembelajaran. 2. Modul Masa membantu menetapkan kajian dan masa rehat. 3. Modul Jadual secara automatik mengatur tugas pembelajaran mingguan.

Cara mengkonfigurasi pelayan https di debian openssl Cara mengkonfigurasi pelayan https di debian openssl Apr 13, 2025 am 11:03 AM

Mengkonfigurasi pelayan HTTPS pada sistem Debian melibatkan beberapa langkah, termasuk memasang perisian yang diperlukan, menghasilkan sijil SSL, dan mengkonfigurasi pelayan web (seperti Apache atau Nginx) untuk menggunakan sijil SSL. Berikut adalah panduan asas, dengan mengandaikan anda menggunakan pelayan Apacheweb. 1. Pasang perisian yang diperlukan terlebih dahulu, pastikan sistem anda terkini dan pasang Apache dan OpenSSL: sudoaptDateSudoaptgradesudoaptinsta

Nginx SSL Sijil Tutorial Debian Nginx SSL Sijil Tutorial Debian Apr 13, 2025 am 07:21 AM

Artikel ini akan membimbing anda tentang cara mengemas kini sijil NginxSSL anda pada sistem Debian anda. Langkah 1: Pasang Certbot terlebih dahulu, pastikan sistem anda mempunyai pakej CertBot dan Python3-CertBot-Nginx yang dipasang. Jika tidak dipasang, sila laksanakan arahan berikut: sudoapt-getupdateudoapt-getinstallcertbotpython3-certbot-nginx Langkah 2: Dapatkan dan konfigurasikan sijil Gunakan perintah certbot untuk mendapatkan sijil let'Sencrypt dan konfigurasikan nginx: sudoCertBot-ninx ikuti

Panduan Pembangunan Plug-In Gitlab di Debian Panduan Pembangunan Plug-In Gitlab di Debian Apr 13, 2025 am 08:24 AM

Membangunkan plugin Gitlab pada Debian memerlukan beberapa langkah dan pengetahuan tertentu. Berikut adalah panduan asas untuk membantu anda memulakan proses ini. Memasang GitLab terlebih dahulu, anda perlu memasang GitLab pada sistem Debian anda. Anda boleh merujuk kepada manual pemasangan rasmi GitLab. Dapatkan token akses API sebelum melakukan integrasi API, anda perlu mendapatkan token akses API Gitlab terlebih dahulu. Buka papan pemuka Gitlab, cari pilihan "AccessTokens" dalam tetapan pengguna, dan menghasilkan token akses baru. Akan dijana

Perkhidmatan apa yang Apache Perkhidmatan apa yang Apache Apr 13, 2025 pm 12:06 PM

Apache adalah wira di belakang internet. Ia bukan sahaja pelayan web, tetapi juga platform yang kuat yang menyokong lalu lintas yang besar dan menyediakan kandungan dinamik. Ia memberikan fleksibiliti yang sangat tinggi melalui reka bentuk modular, yang membolehkan pengembangan pelbagai fungsi seperti yang diperlukan. Walau bagaimanapun, modulariti juga membentangkan cabaran konfigurasi dan prestasi yang memerlukan pengurusan yang teliti. Apache sesuai untuk senario pelayan yang memerlukan keperluan yang sangat disesuaikan dan memenuhi keperluan kompleks.

Bahasa apa yang ditulis Apache? Bahasa apa yang ditulis Apache? Apr 13, 2025 pm 12:42 PM

Apache ditulis dalam C. Bahasa ini menyediakan kelajuan, kestabilan, mudah alih, dan akses perkakasan langsung, menjadikannya sesuai untuk pembangunan pelayan web.

See all articles