install.packages("h2o")
Error in install.packages : Updating loaded packages
library(h2o)
h2o.init()
Connection successful!
R is connected to the H2O cluster:
H2O cluster uptime: 15 minutes 32 seconds
H2O cluster timezone: UTC
H2O data parsing timezone: UTC
H2O cluster version: 3.44.0.3
H2O cluster version age: 1 year, 1 month and 14 days
H2O cluster name: H2O_started_from_R_r3041540_cmw528
H2O cluster total nodes: 1
H2O cluster total memory: 0.17 GB
H2O cluster total cores: 1
H2O cluster allowed cores: 1
H2O cluster healthy: TRUE
H2O Connection ip: localhost
H2O Connection port: 54321
H2O Connection proxy: NA
H2O Internal Security: FALSE
R Version: R version 4.4.2 (2024-10-31)
Warning in h2o.clusterInfo() :
Your H2O cluster version is (1 year, 1 month and 14 days) old. There may be a newer version available.
Please download and install the latest version from: https://h2o-release.s3.amazonaws.com/h2o/latest_stable.html
library(h2o)
h2o.init(nthreads = -1)
Connection successful!
R is connected to the H2O cluster:
H2O cluster uptime: 15 minutes 32 seconds
H2O cluster timezone: UTC
H2O data parsing timezone: UTC
H2O cluster version: 3.44.0.3
H2O cluster version age: 1 year, 1 month and 14 days
H2O cluster name: H2O_started_from_R_r3041540_cmw528
H2O cluster total nodes: 1
H2O cluster total memory: 0.17 GB
H2O cluster total cores: 1
H2O cluster allowed cores: 1
H2O cluster healthy: TRUE
H2O Connection ip: localhost
H2O Connection port: 54321
H2O Connection proxy: NA
H2O Internal Security: FALSE
R Version: R version 4.4.2 (2024-10-31)
Warning in h2o.clusterInfo() :
Your H2O cluster version is (1 year, 1 month and 14 days) old. There may be a newer version available.
Please download and install the latest version from: https://h2o-release.s3.amazonaws.com/h2o/latest_stable.html
datasets <- "https://raw.githubusercontent.com/DarrenCook/h2o/bk/datasets/"
data <- h2o.importFile(paste0(datasets, "iris_wheader.csv"))
|
| | 0%
|
|======================================================================| 100%
y <- "class"
x <- setdiff(names(data), y)
parts <- h2o.splitFrame(data, 0.8)#In R, h2o.splitFrame() takes an H2O frame and returns a list of the splits, which are assigned to train and test, for readability:
train <- parts[[1]]
test <- parts[[2]]
m <- h2o.deeplearning(x, y, train)
|
| | 0%
|
|======================================================================| 100%
p <- h2o.predict(m, test)
|
| | 0%
|
|======================================================================| 100%
h2o.mse(m)
[1] 0.1725024
h2o.confusionMatrix(m)
Confusion Matrix: Row labels: Actual class; Column labels: Predicted class
as.data.frame(p)
as.data.frame( h2o.cbind(p$predict, test$class) )
mean(p$predict == test$class)
[1] 0.7419355
h2o.performance(m, test)
H2OMultinomialMetrics: deeplearning
Test Set Metrics:
=====================
MSE: (Extract with `h2o.mse`) 0.1919659
RMSE: (Extract with `h2o.rmse`) 0.4381391
Logloss: (Extract with `h2o.logloss`) 0.6648491
Mean Per-Class Error: 0.2222222
AUC: (Extract with `h2o.auc`) NaN
AUCPR: (Extract with `h2o.aucpr`) NaN
Confusion Matrix: Extract with `h2o.confusionMatrix(<model>, <data>)`)
=========================================================================
Confusion Matrix: Row labels: Actual class; Column labels: Predicted class
Hit Ratio Table: Extract with `h2o.hit_ratio_table(<model>, <data>)`
=======================================================================
Top-3 Hit Ratios:
NANANA
LS0tCnRpdGxlOiAiUi1IMk8iCm91dHB1dDogaHRtbF9ub3RlYm9vawotLS0KCgpgYGB7cn0KI2luc3RhbGwucGFja2FnZXMoImgybyIpCmBgYAoKYGBge3J9CiNsaWJyYXJ5KGgybykKYGBgCgpgYGB7cn0KI2gyby5pbml0KCkKYGBgCgpgYGB7cn0KI2xpYnJhcnkoaDJvKQpoMm8uaW5pdChudGhyZWFkcyA9IC0xKQpgYGAKCmBgYHtyfQojZGF0YXNldHMgPC0gImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9EYXJyZW5Db29rL2gyby9iay9kYXRhc2V0cy8iCiNkYXRhIDwtIGgyby5pbXBvcnRGaWxlKHBhc3RlMChkYXRhc2V0cywgImlyaXNfd2hlYWRlci5jc3YiKSkKCmBgYAoKCmBgYHtyfQp5IDwtICJjbGFzcyIgIAp4IDwtIHNldGRpZmYobmFtZXMoZGF0YSksIHkpCnBhcnRzIDwtIGgyby5zcGxpdEZyYW1lKGRhdGEsIDAuOCkjSW4gUiwgaDJvLnNwbGl0RnJhbWUoKSB0YWtlcyBhbiBIMk8gZnJhbWUgYW5kIHJldHVybnMgYSBsaXN0IG9mIHRoZSBzcGxpdHMsIHdoaWNoIGFyZSBhc3NpZ25lZCB0byB0cmFpbiBhbmQgdGVzdCwgZm9yIHJlYWRhYmlsaXR5OiAgCnRyYWluIDwtIHBhcnRzW1sxXV0KdGVzdCA8LSBwYXJ0c1tbMl1dCgptIDwtIGgyby5kZWVwbGVhcm5pbmcoeCwgeSwgdHJhaW4pCmBgYAoKYGBge3J9CnAgPC0gaDJvLnByZWRpY3QobSwgdGVzdCkKYGBgCgoKYGBge3J9CiNoMm8ubXNlKG0pCmBgYAoKYGBge3J9CiNoMm8uY29uZnVzaW9uTWF0cml4KG0pCmBgYAoKYGBge3J9CiNhcy5kYXRhLmZyYW1lKHApCmBgYAoKYGBge3J9CiNhcy5kYXRhLmZyYW1lKCBoMm8uY2JpbmQocCRwcmVkaWN0LCB0ZXN0JGNsYXNzKSApCmBgYAoKYGBge3J9CiNtZWFuKHAkcHJlZGljdCA9PSB0ZXN0JGNsYXNzKQpgYGAKCmBgYHtyfQojaDJvLnBlcmZvcm1hbmNlKG0sIHRlc3QpCmBgYAoK