Temel Bileşenler Analizi (PCA)

R ile caret kullanarak Machine Learning

Zach Mayer

Data Scientist at DataRobot and co-author of caret

Temel bileşenler analizi

  • Düşük varyanslı ve korelasyonlu değişkenleri birleştirir
  • Yüksek varyanslı, birbirine dik tek bir yordayıcı seti
  • Çoklu doğrusal bağlantıyı önler (yordayıcılar arası korelasyon)
R ile caret kullanarak Machine Learning

PCA: görsel bir anlatım

  • İlk bileşen en yüksek varyansa sahiptir
  • İkinci bileşen ikinci en yüksek varyansa sahiptir
  • Böyle devam eder...

yapıştırılmış-görüntü-919.png

R ile caret kullanarak Machine Learning

Örnek: kan-beyin verisi

  • Çok sayıda yordayıcı
  • Birçoğu düşük varyanslı
# Kan-beyin veri setini yükleyin
data(BloodBrain)
names(bbbDescr)[nearZeroVar(bbbDescr)]
[1] "negative"     "peoe_vsa.2.1" "peoe_vsa.3.1"
[4] "a_acid"       "vsa_acid"     "frac.anion7."
[7] "alert"  
R ile caret kullanarak Machine Learning

Örnek: kan-beyin verisi

# Temel model
set.seed(42)
data(BloodBrain)
model <- train(
  bbbDescr, 
  logBBB, 
  method = "glm",
  trControl = trainControl(
    method = "cv", number = 10, verbose = TRUE
  ),
  preProcess = c("zv", "center", "scale")
)
min(model$results$RMSE)
1.107702     
R ile caret kullanarak Machine Learning

Örnek: kan-beyin verisi

# Düşük varyanslı yordayıcıları kaldırın
set.seed(42)
data(BloodBrain)
model <- train(
  bbbDescr, 
  logBBB, 
  method = "glm",
  trControl = trainControl(
    method = "cv", number = 10, verbose = TRUE
  ),
  preProcess = c("nzv", "center", "scale")
)
min(model$results$RMSE)
0.9796199
R ile caret kullanarak Machine Learning

Örnek: kan-beyin verisi

# PCA ekleyin
set.seed(42)
data(BloodBrain)
model <- train(
  bbbDescr, 
  logBBB, 
  method = "glm",
  trControl = trainControl(
    method = "cv", number = 10, verbose = TRUE
  ),
  preProcess = c("zv", "center", "scale", "pca")
)
min(model$results$RMSE)
0.9796199
R ile caret kullanarak Machine Learning

Ayo berlatih!

R ile caret kullanarak Machine Learning

Preparing Video For Download...