R'de Hiperparametre Ayarlama
Dr. Shirin Elsinghorst
Senior Data Scientist
library(h2o)
h2o.init()
H2O henüz çalışmıyor, şimdi başlatılıyor...
java version "1.8.0_351"
Java(TM) SE Runtime Environment (build 1.8.0_351-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.351-b10, mixed mode)
H2O JVM’i başlatılıyor ve bağlanılıyor: ... Bağlantı başarılı!
R, H2O kümesine bağlı:
H2O küme çalışma süresi: 1 saniye 620 milisaniye
H2O küme saat dilimi: UTC
H2O veri ayrıştırma saat dilimi: UTC
H2O küme sürümü: 3.38.0.1
H2O küme sürüm yaşı: 2 ay 25 gün
H2O küme adı: H2O_started_from_R_repl_chk886
H2O toplam düğüm: 1
H2O toplam bellek: 0.98 GB
H2O toplam çekirdek: 2
H2O izinli çekirdek: 2
H2O kümesi sağlıklı: TRUE
H2O Bağlantı ip: localhost
H2O Bağlantı portu: 54321
H2O Bağlantı vekili: NA
H2O Dahili Güvenlik: FALSE
R Sürümü: R version 4.2.1 (2022-06-23)
glimpse(seeds_data)
Gözlem: 150
Değişken: 8
$ area <dbl> 15.26, 14.88, 14.29, 13.84 ...
$ perimeter <dbl> 14.84, 14.57, 14.09, 13.94 ...
$ compactness <dbl> 0.8710, 0.8811, 0.9050 ...
$ kernel_length <dbl> 5.763, 5.554, 5.291, 5.324 ...
$ kernel_width <dbl> 3.312, 3.333, 3.337, 3.379 ...
$ asymmetry <dbl> 2.2210, 1.0180, 2.6990 ...
$ kernel_groove <dbl> 5.220, 4.956, 4.825, 4.805 ...
$ seed_type <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, ...
seeds_data %>%
count(seed_type)
# A tibble: 3 x 2
seed_type n
<int> <int>
1 1 50
2 2 50
3 3 50
Veriyi H2O frame olarak
seeds_data_hf <- as.h2o(seeds_data)
Özellikler ve hedef değişkeni tanımlayın
y <- "seed_type"
x <- setdiff(colnames(seeds_data_hf), y)
Sınıflandırmada hedef faktör olmalıdır
seeds_data_hf[, y] <- as.factor(seeds_data_hf[, y])
sframe <- h2o.splitFrame(data = seeds_data_hf,
ratios = c(0.7, 0.15),
seed = 42)
train <- sframe[[1]]
valid <- sframe[[2]]
test <- sframe[[3]]
summary(train$seed_type, exact_quantiles = TRUE)
seed_type
1:36
2:36
3:35
summary(test$seed_type, exact_quantiles = TRUE)
seed_type
1:8
2:8
3:5
h2o.gbm() ve h2o.xgboost() ile gradyan artırmalı modellerh2o.glm() ile genelleştirilmiş doğrusal modellerh2o.randomForest() ile rastgele ormanlarh2o.deeplearning() ile sinir ağlarıgbm_model <- h2o.gbm(x = x, y = y,
training_frame = train,
validation_frame = valid)
Model Ayrıntıları:
==============
H2OMultinomialModel: gbm
Model ID: GBM_model_R_1540736041817_1
Model Özeti:
ağaç_sayısı iç_ağaç_sayısı model_boyutu_bayt min_derinlik
50 150 24877 2
max_derinlik ort_derinlik min_yaprak max_yaprak ort_yaprak
5 4.72000 3 10 8.26667
perf <- h2o.performance(gbm_model, test)h2o.confusionMatrix(perf)
Karmaşıklık Matrisi: Satır etiketleri: Gerçek sınıf; Sütun etiketleri: Tahmin edilen sınıf
1 2 3 Hata Oran
1 7 0 1 0.1250 = 1 / 8
2 0 8 0 0.0000 = 0 / 8
3 0 0 5 0.0000 = 0 / 5
Toplam 7 8 6 0.0476 = 1 / 21
h2o.logloss(perf)
0.2351779
h2o.predict(gbm_model, test)
R'de Hiperparametre Ayarlama