Isi kandungan:
- Memandangkan model psikometrik
- Mencari faktor tersembunyi
- Menggunakan komponen, bukan faktor
- Mencapai pengurangan dimensi
Video: Software Testing Tutorials for Beginners 2024
Para saintis data boleh menggunakan Python untuk melaksanakan faktor dan analisa komponen utama. SVD beroperasi terus pada nilai angka dalam data, tetapi anda juga boleh menyatakan data sebagai hubungan antara pembolehubah. Setiap ciri mempunyai variasi tertentu. Anda boleh mengira variabiliti sebagai ukuran varians di sekitar min. Semakin varians, semakin banyak maklumat yang terdapat di dalam pemboleh ubah tersebut.
Selain itu, jika anda meletakkan pembolehubah ke dalam satu set, anda boleh membandingkan varians dua pembolehubah untuk menentukan sama ada ia berkaitan, yang merupakan ukuran seberapa kuat mereka mempunyai nilai yang sama.
Memeriksa semua korelasi mungkin pemboleh ubah dengan yang lain dalam set itu, anda dapat mengetahui bahawa anda mungkin mempunyai dua jenis varians:
-
Varians yang unik: Sesetengah varians adalah unik untuk pemboleh ubah di bawah peperiksaan. Ia tidak boleh dikaitkan dengan apa yang berlaku kepada pembolehubah lain.
-
Varians yang dikongsi: Sesetengah varians dikongsi dengan satu atau lebih pembolehubah lain, mewujudkan redundansi dalam data. Redundansi membayangkan bahawa anda boleh mencari maklumat yang sama, dengan nilai yang sedikit berbeza, dalam pelbagai ciri dan merentasi banyak pemerhatian.
Sudah tentu, langkah seterusnya adalah untuk menentukan sebab untuk varians dikongsi. Mencuba menjawab soalan semacam itu, serta menentukan bagaimana menangani variasi yang unik dan dikongsi, membawa kepada penciptaan faktor dan analisa komponen utama.
Memandangkan model psikometrik
Lama sebelum banyak algoritma pembelajaran komputer dipikirkan, psikometrik , disiplin dalam psikologi yang berkaitan dengan pengukuran psikologi, cuba mencari penyelesaian statistik untuk mengukur dimensi secara berkesan dalam keperibadian. Keperibadian manusia, seperti aspek lain manusia, tidak dapat diukur secara langsung. Sebagai contoh, tidak mungkin untuk mengukur dengan tepat berapa banyak orang yang introvert atau pintar. Soal soal selidik dan ujian psikologi hanya memberi petunjuk kepada nilai-nilai ini.
Pakar psikologi tahu tentang SVD dan cuba menerapkannya kepada masalah. Varians yang dikongsi menarik perhatian mereka: Jika beberapa pembolehubah hampir sama, mereka harus mempunyai punca yang sama, mereka fikir. Psikologi mencipta analisis faktor untuk melaksanakan tugas ini! Daripada menggunakan SVD secara terus ke data, mereka menggunakannya pada matriks yang baru dibuat menjejaki varians yang lazim, dengan harapan untuk memelopori semua maklumat dan memulihkan ciri-ciri berguna baru yang dipanggil fa c tors .
Mencari faktor tersembunyi
Cara yang baik untuk menunjukkan cara menggunakan analisis faktor adalah dengan memulakan dataset Iris.
dari sklearn. dataset import load_iris from sklearn. penguraian impak Faktor Analisa iris = load_iris () X, y = iris. data, iris. faktor sasaran = FactorAnalysis (n_components = 4, random_state = 101). patut (X)
Selepas memuatkan data dan menyimpan semua ciri ramalan, kelas FaktorAnalisisis diasaskan dengan permintaan untuk mencari empat faktor. Data tersebut kemudian dipasang. Anda boleh meneroka hasil dengan memerhati atribut komponen_, yang mengembalikan array yang mengandungi ukuran hubungan antara faktor yang baru dibuat, diletakkan di baris, dan ciri asal, diletakkan di dalam lajur.
Di persimpangan setiap faktor dan ciri, nombor positif menunjukkan bahawa perkadaran positif wujud antara kedua-dua; sebilangan negatif, sebaliknya, menunjukkan bahawa mereka menyimpang dan satu adalah yang bertentangan dengan yang lain.
Anda perlu menguji nilai yang berbeza dari n_components kerana tidak mungkin untuk mengetahui berapa banyak faktor yang ada dalam data. Sekiranya algoritma diperlukan untuk lebih banyak faktor daripada wujud, ia akan menghasilkan faktor dengan nilai yang rendah dalam array komponen_.
panda import sebagai pd cetak ke pd. DataFrame (faktor komponen, lajur = iris. Feature_names) sepal panjang (cm) sepal lebar (cm) panjang kelopak (cm) lebar 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 ujian pada dataset Iris, contohnya, faktor yang dihasilkan harus maksimum 2, bukan 4, karena hanya dua faktor yang mempunyai hubungan signifikan dengan ciri-ciri asli. Anda boleh menggunakan kedua-dua faktor ini sebagai pemboleh ubah baru dalam projek anda kerana ia mencerminkan ciri yang tidak kelihatan tetapi penting bahawa data yang tersedia sebelum ini hanya membayangkan.
Menggunakan komponen, bukan faktor
Jika SVD berjaya digunakan untuk varians biasa, anda mungkin tertanya-tanya mengapa anda tidak boleh memohon kepada semua variasi. Menggunakan matriks permulaan yang diubah suai, semua hubungan dalam data dapat dikurangkan dan dimampatkan dengan cara yang sama seperti bagaimana SVD melakukannya.
Keputusan proses ini, yang agak sama dengan SVD, dipanggil analisis komponen utama (PCA). Ciri yang baru diwujudkan dinamakan komponen . Berbeza dengan faktor, komponen tidak digambarkan sebagai penyebab utama struktur data tetapi hanya disusun semula data, jadi anda boleh melihatnya sebagai penjumlahan besar dan pintar pembolehubah yang dipilih.
Untuk aplikasi sains data, PCA dan SVD agak sama. Walau bagaimanapun, PCA tidak terjejas oleh skala ciri-ciri asal (kerana ia berfungsi pada langkah-langkah korelasi yang terikat di antara -1 dan +1) dan PCA memberi tumpuan kepada membina semula hubungan antara pembolehubah, dengan itu menawarkan hasil yang berbeza dari SVD.
Mencapai pengurangan dimensi
Prosedur untuk mendapatkan PCA agak sama dengan analisis faktor.Perbezaannya adalah bahawa anda tidak menentukan jumlah komponen yang akan diambil. Anda memutuskan kemudian berapa komponen yang harus disimpan setelah memeriksa atribut dijelaskan_variance_ratio_, yang memberikan kuantifikasi nilai informatif bagi setiap komponen yang diekstrak. Contoh berikut menunjukkan cara melaksanakan tugas ini:
dari sklearn. penguraian import PCA panda import sebagai pd pca = PCA (). cetak patut (X) 'Varians dijelaskan oleh komponen:% s'% pca. explained_variance_ratio_ printable pd. DataFrame (komponen komponen, lajur = iris. Feature_names) Variance dijelaskan oleh komponen: [0. 92461621 0. 05301557 0. 01718514 0. 00518309] sepal panjang (cm) sepal lebar (cm) panjang kelopak (cm) lebar 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 penguraian ini dataset Iris, array vektor yang disediakan oleh menjelaskan_variance_ratio_ menunjukkan bahawa kebanyakan maklumat tertumpu kepada komponen pertama (92.5 peratus). Oleh itu, adalah mungkin untuk mengurangkan keseluruhan dataset kepada hanya dua komponen, memberikan pengurangan bunyi dan maklumat yang berlebihan dari dataset asal.