Daftar Isi:
- Mengingat model psikometrik
- dari sklearn. dataset mengimpor load_iris dari sklearn. dekomposisi impor FactorAnalisis iris = load_iris () X, y = iris. data, iris Faktor target = FactorAnalisis (n_components = 4, random_state = 101). fit (X)
- Hasil dari proses ini, yang sangat mirip dengan SVD, disebut
- dari sklearn. impor dekomposisi panda impor PCA sebagai pd pca = PCA (). fit (X) print 'Dijelaskan varians dengan komponen:% s'% pca. dijelaskan_variance_ratio_ cetak pd. DataFrame (pca. Components_, columns = iris. Feature_names) Dijelaskan varians dengan komponen: [0. 92461621 0. 05301557 0. 01718514 0. 00518309] sepal panjang (cm) sepal lebar (cm) kelopak (cm) kelopak (cm) 0 0. 361590 -0. 082269 0. 856572 0. 358844 1 -0. 656540 -0. 729712 0. 175767 0. 074706 2 0. 580997 -0. 596418 -0. 072524 -0. 549061 3 0. 317255 -0. 324094 -0. 479719 0. 751121
Video: Principal Components Analysis - SPSS (part 1) 2024
Ilmu data dapat menggunakan Python untuk melakukan analisis faktor dan komponen utama. SVD beroperasi secara langsung pada nilai numerik dalam data, namun Anda juga dapat mengekspresikan data sebagai hubungan antar variabel. Setiap fitur memiliki variasi tertentu. Anda dapat menghitung variabilitas sebagai ukuran varians di sekitar mean. Semakin banyak varians, semakin banyak informasi yang terkandung di dalam variabel.
Selain itu, jika Anda menempatkan variabel ke dalam satu set, Anda dapat membandingkan varians dua variabel untuk menentukan apakah keduanya berkorelasi, yang merupakan ukuran seberapa kuat nilai yang mereka miliki.
Memeriksa semua korelasi yang mungkin dari sebuah variabel dengan yang lainnya di lokasi syuting, Anda dapat menemukan bahwa Anda mungkin memiliki dua jenis varians:
-
Variance unik: Beberapa varians unik untuk variabel di bawah pemeriksaan Ini tidak dapat dikaitkan dengan apa yang terjadi pada variabel lainnya.
-
Varians bersama: Beberapa varians dibagikan dengan satu atau lebih variabel lainnya, menciptakan redundansi dalam data. Redundansi menyiratkan bahwa Anda dapat menemukan informasi yang sama, dengan nilai yang sedikit berbeda, dalam berbagai fitur dan di banyak pengamatan.
Tentu saja, langkah selanjutnya adalah menentukan alasan varians bersama. Mencoba menjawab pertanyaan semacam itu, dan juga menentukan bagaimana menghadapi varians unik dan bersama, menyebabkan terciptanya analisis faktor dan komponen utama.
Mengingat model psikometrik
Jauh sebelum banyak algoritma pembelajaran mesin dipikirkan, disiplin psikologi yang berkaitan dengan pengukuran psikologis, mencoba menemukan solusi statistik untuk mengukur dimensi secara efektif. dalam kepribadian Kepribadian manusia, seperti aspek manusia lainnya, tidak dapat diukur secara langsung. Misalnya, tidak mungkin mengukur dengan tepat berapa banyak seseorang yang tertutup atau cerdas. Kuesioner dan tes psikologis hanya mengisyaratkan nilai-nilai ini.
untuk melakukan tugas ini! Alih-alih menerapkan SVD secara langsung ke data, mereka menerapkannya pada matriks yang baru dibuat yang melacak varians umum, dengan harapan dapat mengkondensasi semua informasi dan memulihkan fitur baru yang berguna yang disebut fa c tors . Mencari faktor tersembunyi Cara yang baik untuk menunjukkan bagaimana menggunakan analisis faktor adalah memulai dengan dataset Iris.
dari sklearn. dataset mengimpor load_iris dari sklearn. dekomposisi impor FactorAnalisis iris = load_iris () X, y = iris. data, iris Faktor target = FactorAnalisis (n_components = 4, random_state = 101). fit (X)
Setelah memuat data dan menyimpan semua fitur prediktif, kelas FactorAnalysis diinisialisasi dengan permintaan untuk mencari empat faktor. Data kemudian dipasang. Anda dapat menjelajahi hasilnya dengan mengamati atribut component_, yang mengembalikan array yang berisi ukuran hubungan antara faktor yang baru dibuat, ditempatkan dalam baris, dan fitur asli, ditempatkan di kolom.
Di persimpangan masing-masing faktor dan fitur, angka positif menunjukkan bahwa ada proporsi positif antara keduanya; Angka negatif, sebagai gantinya, menunjukkan bahwa mereka berbeda dan yang satu bertentangan dengan yang lain.
Anda harus menguji berbagai nilai n_components karena tidak mungkin mengetahui berapa banyak faktor yang ada dalam data. Jika algoritma diperlukan untuk lebih banyak faktor daripada yang ada, maka akan menghasilkan faktor dengan nilai rendah pada array komponen_.
panda impor sebagai pd print pd. DataFrame (faktor. Komponen_, kolom = iris. Feature_names) panjang sepal (cm) sepal width (cm) kelopak (cm) kelopak (cm) 0 0. 707227 -0. 153147 1. 653151 0. 701569 1 0. 114676 0. 159763 -0. 045604 -0. 014052 2 0. 000000 -0. 000000 -0. 000000 -0. 000000 3 -0. 000000 0. 000000 0. 000000 -0. 000000
Dalam tes pada dataset Iris, misalnya, faktor yang dihasilkan harus maksimal 2, bukan 4, karena hanya dua faktor yang memiliki hubungan signifikan dengan fitur aslinya. Anda dapat menggunakan dua faktor ini sebagai variabel baru dalam proyek Anda karena mereka mencerminkan fitur yang tak terlihat namun penting sehingga data yang tersedia sebelumnya hanya diisyaratkan.
Menggunakan komponen, bukan faktor
Jika SVD dapat berhasil diterapkan pada varians umum, Anda mungkin bertanya-tanya mengapa Anda tidak dapat menerapkannya pada semua varians. Dengan menggunakan matriks awal yang sedikit dimodifikasi, semua hubungan dalam data dapat dikurangi dan dikompres dengan cara yang serupa dengan bagaimana SVD melakukannya.
Hasil dari proses ini, yang sangat mirip dengan SVD, disebut
analisis komponen utama
(PCA). Fitur yang baru dibuat diberi nama komponen . Berbeda dengan faktor, komponen tidak digambarkan sebagai akar penyebab struktur data namun hanya data yang direstrukturisasi, sehingga Anda dapat melihatnya sebagai penjumlahan variabel terpilih yang besar dan cerdas. Untuk aplikasi sains data, PCA dan SVD sangat mirip. Namun, PCA tidak terpengaruh oleh skala fitur asli (karena bekerja berdasarkan ukuran korelasi yang semuanya terikat antara -1 dan nilai +1) dan PCA berfokus untuk membangun kembali hubungan antara variabel, sehingga menawarkan hasil yang berbeda dari SVD. Mencapai pengurangan dimensi
Prosedur untuk mendapatkan PCA sangat mirip dengan analisis faktor.Perbedaannya adalah Anda tidak menentukan jumlah komponen yang akan diekstrak. Anda kemudian memutuskan berapa banyak komponen yang harus disimpan setelah memeriksa atribut explain_variance_ratio_, yang memberikan kuantifikasi nilai informatif dari setiap komponen yang diekstraksi. Contoh berikut menunjukkan bagaimana melakukan tugas ini:
dari sklearn. impor dekomposisi panda impor PCA sebagai pd pca = PCA (). fit (X) print 'Dijelaskan varians dengan komponen:% s'% pca. dijelaskan_variance_ratio_ cetak pd. DataFrame (pca. Components_, columns = iris. Feature_names) Dijelaskan varians dengan komponen: [0. 92461621 0. 05301557 0. 01718514 0. 00518309] sepal panjang (cm) sepal lebar (cm) kelopak (cm) kelopak (cm) 0 0. 361590 -0. 082269 0. 856572 0. 358844 1 -0. 656540 -0. 729712 0. 175767 0. 074706 2 0. 580997 -0. 596418 -0. 072524 -0. 549061 3 0. 317255 -0. 324094 -0. 479719 0. 751121
Dalam dekomposisi dataset Iris ini, rambu vektor yang diberikan oleh explain_variance_ratio_ menunjukkan bahwa sebagian besar informasi terkonsentrasi ke komponen pertama (92. 5 persen). Oleh karena itu, memungkinkan untuk mengurangi keseluruhan dataset menjadi dua komponen, memberikan pengurangan kebisingan dan informasi berlebihan dari kumpulan data asli.