Rekayasa Fitur di R
Jorge Zazueta
Research Professor and Head of the Modeling Group at the School of Economics, UASLP
Beberapa dataset memiliki kolom dengan nilai konstan atau ragam nol. Kita dapat menyaring fitur tersebut dengan menambahkan step_zv() ke recipe() kita.

Fitur dengan ragam hampir nol mencakup prediktor bernilai tunggal, serta prediktor dengan kedua ciri berikut:
Sangat sedikit nilai unik dibanding jumlah sampel
Rasio frekuensi nilai paling umum terhadap nilai terbanyak kedua sangat besar
Contoh ragam hampir nol:
step_nzv() mengidentifikasi dan menghapus prediktor dengan ciri tersebut.
Dataset tiga dimensi asli dengan dua kelas terkait.

Dataset tereduksi yang merepresentasikan data menggunakan dua komponen utama pertama.

Membuat recipe untuk melakukan PCA dan mengambil keluarannya lewat prep().
pc_recipe <-
recipe(~., data = loans_num) %>%
step_nzv(all_numeric()) %>%
step_normalize(all_numeric()) %>%
step_pca(all_numeric())
pca_output <- prep(pc_recipe)
Kita dapat melihat informasi yang tersedia dengan memanggil names() pada pca_output.
names(pca_output)
[1] "var_info" "term_info"
[3] "steps" "template"
[5] "levels" "retained"
[7] "requirements" "tr_info"
[9] "orig_lvls" "last_term_info"
Ekstrak simpangan baku dari objek pca_output dan hitung proporsi ragam yang dijelaskan.
stdv <- pca_output$steps[[3]]$res$sdev
var_explained <- stdv^2/sum(stdv^2)
PCA = tibble(PC = 1:length(stdv),
var_explained = var_explained,
cumulative = cumsum(var_explained))
Tabel yang menampilkan proporsi ragam yang dijelaskan per komponen utama.
# A tibble: 5 × 3
PC var_explained cumulative
<int> <dbl> <dbl>
1 1 0.315 0.315
2 2 0.214 0.529
3 3 0.202 0.730
4 4 0.198 0.928
5 5 0.0722 1
Kita dapat membuat grafiknya sebagai diagram kolom dengan ggplot2.
PCA %>%
ggplot(aes(x = PC,
y = var_explained)) +
geom_col(fill = "steelblue") +
xlab("Komponen utama") +
ylab("Ragam yang dijelaskan")
Ragam yang dijelaskan per komponen utama.

Rekayasa Fitur di R