Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Penjelasan terperinci tentang algoritma analisis faktor penjelasan dalam Python

Penjelasan terperinci tentang algoritma analisis faktor penjelasan dalam Python

WBOY
WBOYasal
2023-06-10 18:18:09859semak imbas

Analisis Faktor Penjelasan ialah kaedah analisis statistik multivariate klasik yang sering digunakan untuk meneroka faktor berpotensi dalam set data. Sebagai contoh, kita boleh menggunakan analisis faktor penjelasan untuk mengenal pasti faktor yang mempengaruhi kesedaran jenama atau menemui faktor yang mempengaruhi tingkah laku pengguna dalam pasaran tertentu. Dalam Python, kita boleh menggunakan pelbagai perpustakaan untuk melaksanakan analisis faktor penjelasan Artikel ini akan memperkenalkan secara terperinci cara menggunakan Python untuk melaksanakan algoritma ini.

  1. Pasang perpustakaan yang diperlukan

Untuk melaksanakan analisis faktor penjelasan dalam Python, kita perlu memasang beberapa perpustakaan yang diperlukan terlebih dahulu. Antaranya, kita perlu menggunakan perpustakaan NumPy untuk pemprosesan dan operasi data;

Anda boleh menggunakan pengurus pakej Python (seperti pip) untuk memasang perpustakaan ini. Jalankan arahan berikut dalam terminal:

!pip install numpy pandas statsmodels
  1. Muatkan data

Untuk menunjukkan analisis faktor, dalam artikel ini kami menggunakan set data kad kredit daripada perpustakaan pembelajaran mesin UCI. Set data ini mengandungi kad kredit setiap pelanggan dan data kewangan lain, seperti baki akaun, had kredit, dsb. Anda boleh memuat turun set data daripada: https://archive.ics.uci.edu/ml/datasets/default+of+credit+card+clients

Selepas memuat turun, kita perlu menggunakan perpustakaan Pandas Muatkan set data ke dalam Python. Dalam artikel ini, kami akan menggunakan kod berikut untuk memuatkan data:

import pandas as pd

# 加载数据
data = pd.read_excel('default of credit card clients.xls', skiprows=1)

# 删除第一列(ID)
data = data.drop(columns=['ID'])

Perhatikan bahawa kami menggunakan skiprows=1 untuk melangkau baris pertama dalam fail kerana baris itu bukan milik data sebenar. Kami kemudian menggunakan fungsi drop untuk memadamkan lajur pertama dalam set data, kerana lajur ini hanya mengandungi ID dan tidak berguna untuk analisis data kami.

  1. Pemprosesan Data

Sebelum menjalankan analisis faktor penjelasan, kami perlu melakukan beberapa pemprosesan pada data terlebih dahulu. Mengikut contoh kami, kami perlu melakukan analisis faktor ilustrasi mengenai sejarah kredit pelanggan. Oleh itu, kami perlu membahagikan set data kepada sejarah kredit dan data kewangan lain. Dalam artikel ini, kami menganggap sejarah kredit sebagai pembolehubah yang ingin kami kaji.

# 获取信用记录数据
credit_data = data.iloc[:, 5:11]

# 对数据进行标准化(均值0,标准差1)
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
credit_data = pd.DataFrame(scaler.fit_transform(credit_data), columns=credit_data.columns)

Kami menggunakan fungsi iloc untuk memilih lajur rekod kredit daripada set data. Kemudian, kami menggunakan fungsi StandardScaler untuk menyeragamkan data rekod kredit (min ialah 0 dan sisihan piawai ialah 1 ialah langkah yang perlu untuk menggambarkan analisis faktor.

  1. Menjalankan Analisis Faktor Penjelasan

Selepas pemprosesan data selesai, kita boleh menggunakan perpustakaan statsmodels untuk menjalankan analisis faktor penjelasan. Dalam artikel ini, kami akan menggunakan algoritma anggaran kemungkinan maksimum untuk menentukan bilangan faktor.

# 运行说明因子分析
from factor_analyzer import FactorAnalyzer

# 定义模型
fa = FactorAnalyzer()
# 拟合模型
fa.fit(credit_data)
# 获取因子载荷
loadings = pd.DataFrame(fa.loadings_, index=credit_data.columns,
                        columns=['Factor {}'.format(i) for i in range(1, len(credit_data.columns)+1)])
# 获取方差贡献率
variance = pd.DataFrame({'Variance': fa.get_factor_variance()}, 
                         index=['Factor {}'.format(i) for i in range(1, len(credit_data.columns)+1)])

Dalam kod di atas, kita mula-mula membuat seketika objek FactorAnalyzer dan kemudian menggunakan fungsi fit untuk memuatkan data. Kami juga menggunakan loadings_ untuk mendapatkan pemuatan faktor, yang mengukur kekuatan korelasi antara setiap pembolehubah dan setiap faktor. Kami menggunakan get_factor_variance untuk mendapatkan kadar sumbangan varians, yang merupakan ukuran sejauh mana setiap faktor menerangkan varians keseluruhan. Dalam kod akhir, kami menggunakan pd.DataFrame untuk menukar hasil menjadi bingkai data Pandas.

  1. Analisis Keputusan

Menurut algoritma kami, kami boleh mendapatkan dua penunjuk pemuatan faktor dan kadar sumbangan varians. Kita boleh menggunakan penunjuk ini untuk mengenal pasti faktor asas.

Berikut ialah keluaran pemuatan faktor dan kadar sumbangan varians:

           Factor 1   Factor 2   Factor 3   Factor 4   Factor 5   Factor 6
LIMIT_BAL  0.847680   -0.161836  -0.013786   0.010617   -0.037635  0.032740
SEX       -0.040857  0.215850   0.160855   0.162515   -0.175099  0.075676
EDUCATION  0.208120   -0.674727  0.274869   -0.293581  -0.086391  -0.161201
MARRIAGE  -0.050921  -0.028212  0.637997   0.270484   -0.032020  0.040089
AGE       -0.026009  0.028125   -0.273592  0.871728   0.030701   0.020664
PAY_0     0.710712   0.003285   -0.030082  -0.036452  -0.037875  0.040604
           Variance
Factor 1  1.835932
Factor 2  1.738685
Factor 3  1.045175
Factor 4  0.965759
Factor 5  0.935610
Factor 6  0.104597

Dalam matriks pemuatan, kita dapat melihat bahawa rekod kredit mempunyai nilai pemuatan yang lebih tinggi pada faktor 1, yang menunjukkan bahawa Faktor mempunyai korelasi yang kuat dengan sejarah kredit. Dari segi kadar sumbangan varians, kita dapat melihat bahawa faktor pertama menyumbang paling banyak kepada varians, yang bermaksud bahawa rekod kredit mempunyai kuasa penjelasan yang lebih kukuh pada faktor 1.

Oleh itu, kita boleh mempertimbangkan faktor 1 sebagai faktor utama yang mempengaruhi sejarah kredit pelanggan.

  1. Ringkasan

Dalam artikel ini, kami memperkenalkan cara untuk melaksanakan algoritma analisis faktor deskriptif dalam Python. Kami mula-mula menyediakan data, kemudian menjalankan analisis faktor penjelasan menggunakan perpustakaan statsmodels, dan akhirnya menganalisis penunjuk seperti pemuatan faktor dan kadar sumbangan varians. Algoritma ini boleh digunakan dalam banyak aplikasi analisis data, seperti penyelidikan pasaran dan pengurusan sumber manusia. Jika anda berurusan dengan data seperti ini, algoritma analisis faktor patut dicuba.

Atas ialah kandungan terperinci Penjelasan terperinci tentang algoritma analisis faktor penjelasan dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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