Rastgele orman modelleri

R'de Boyutsal Azaltma

Matt Pickard

Owner, Pickard Predictives, LLC

Rastgele Orman

  • Bir topluluk modeli
    • "kalabalığın bilgeliği" yaklaşımı
  • Birçok rastgele ağacın tahminlerini birleştirir
  • Rastgele, ilişkisiz ağaçlar hatayı azaltır
  • Aşırı uyumu önler
  • Doğru sonuç verir
  • Özellik seçimi yapar

Birden çok karar ağacından oluşan bir topluluk modelini ve oylarının tek bir nihai oya nasıl dönüştüğünü gösteren bir diyagram.

R'de Boyutsal Azaltma

Rastgele Orman

Bu diyagram, farklı özellik alt kümeleriyle nasıl farklı alt ağaçlar oluşturulduğunu gösterir.

R'de Boyutsal Azaltma

Rastgele Orman eğitimi

library(tidymodels)

rf <- rand_forest(mode = "classification", trees = 200) %>% set_engine("ranger", importance = "impurity")
rf_fit <- rf %>% fit(credit_score ~ ., data = train)
predict_df <- test %>% bind_cols(predict = predict(rf_fit, test))
R'de Boyutsal Azaltma

Modeli değerlendirin

f_meas(predict_df, credit_score, .pred_class)
0.6895
R'de Boyutsal Azaltma

Değişken Önemi

library(vip)

rf_fit %>% vip()

Bir değişken önem bar grafiği.

R'de Boyutsal Azaltma

Özellik Maskesi

top_features <- rf_fit %>% 
  vi(rank = TRUE) %>% 
  filter(Importance <= 10) %>% 
  pull(Variable)

top_features
 [1] "outstanding_debt"        "interest_rate"          
 [3] "delay_from_due_date"     "changed_credit_limit"   
 [5] "credit_history_months"   "num_credit_card"        
 [7] "monthly_balance"         "num_of_delayed_payment" 
 [9] "annual_income"           "amount_invested_monthly"
R'de Boyutsal Azaltma

Veriyi azaltın

train_reduced <- train[top_features]
test_reduced <- test[top_features]
R'de Boyutsal Azaltma

Performans

rf_fit <- rf %>% 
  fit(credit_score ~ ., data = train_reduced) 

predict_reduced_df <- test_reduced %>% bind_cols(predict = predict(rf_fit, test_reduced))
f_meas(predict_reduced_df, credit_score, .pred_class)
0.6738 

Azaltılmamış modelin F-skoru:

0.6895 
R'de Boyutsal Azaltma

Haydi pratik yapalım!

R'de Boyutsal Azaltma

Preparing Video For Download...