nnetsauce
getting-started.Rmd
library(nnetsauce)## Loading required package: forecast
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
## Loading required package: memoise
## Creating Python virtual environment...
## Installing sklearn from r-reticulate...
## Using virtual environment '/Users/t/Documents/R_Packages/nnetsauce/venv' ...
## Warning in system2(python, c("-c", shQuote(command)), stdout = TRUE, stderr =
## TRUE): running command
## ''/Users/t/Documents/R_Packages/nnetsauce/venv/bin/python' -c 'import sys;
## import pip; sys.stdout.write(pip.__version__)' 2>&1' had status 1
## Importing sklearn from Global Env...
set.seed(123)
X <- as.matrix(iris[, 1:4])
y <- as.integer(iris$Species) - 1L
(index_train <- base::sample.int(n = nrow(X),
size = floor(0.8*nrow(X)),
replace = FALSE))## [1] 14 50 118 43 150 148 90 91 143 92 137 99 72 26 7 78 81 147
## [19] 103 117 76 32 106 109 136 9 41 74 23 27 60 53 126 119 121 96
## [37] 38 89 34 93 69 138 130 63 13 82 97 142 25 114 21 79 124 47
## [55] 144 120 16 6 127 86 132 39 31 134 149 112 4 128 110 102 52 22
## [73] 129 87 35 40 30 12 88 123 64 146 67 122 37 8 51 10 115 42
## [91] 44 85 107 139 73 20 46 17 54 108 75 80 71 15 24 68 133 145
## [109] 29 104 45 140 101 135 95 116 5 111 94 49
X_train <- X[index_train, ]
y_train <- y[index_train]
X_test <- X[-index_train, ]
y_test <- y[-index_train]
obj <- nnetsauce::GLMClassifier(venv_path = "../venv")
obj$fit(X_train, y_train)## GLMClassifier(dropout=0.0,
## optimizer=<nnetsauce.optimizers.optimizer.Optimizer object at 0x127b37310>,
## type_scaling=['std', 'std', 'std'])
print(obj$score(X_test, y_test))## [1] 0.9333333
library(datasets)
n <- 20 ; p <- 5
X <- matrix(rnorm(n * p), n, p) # no intercept!
y <- rnorm(n)
sklearn <- nnetsauce::get_sklearn(venv_path = "../venv")
obj <- sklearn$tree$DecisionTreeRegressor()
obj2 <- nnetsauce::RandomBagRegressor(obj, venv_path = "../venv")
obj2$fit(X[1:12,], y[1:12])##
## 0/10 [..............................] - ETA: 0s
## 2/10 [██████........................] - ETA: 0s
## 4/10 [████████████..................] - ETA: 0s
## 7/10 [█████████████████████.........] - ETA: 0s
## 10/10 [██████████████████████████████] - 0s 28ms/step
## RandomBagRegressor(col_sample=1.0, dropout=0.0, obj=DecisionTreeRegressor(),
## row_sample=1.0)
## [1] 1.781866
X <- MASS::Boston[,-14] # dataset has an ethical problem
y <- MASS::Boston$medv
set.seed(13)
(index_train <- base::sample.int(n = nrow(X),
size = floor(0.8*nrow(X)),
replace = FALSE))## [1] 472 259 448 357 74 205 262 432 406 132 320 221 248 337 384 362 399 55
## [19] 279 5 396 305 54 184 32 482 125 47 81 444 485 267 68 376 87 334
## [37] 61 373 131 223 387 197 446 324 66 385 62 307 127 371 374 60 476 332
## [55] 440 222 298 182 318 119 15 157 113 14 441 377 160 287 402 381 435 465
## [73] 210 78 455 333 129 232 361 97 415 304 490 190 124 303 136 398 139 105
## [91] 340 273 153 224 147 309 7 329 91 90 46 9 164 468 101 487 313 246
## [109] 67 326 49 264 423 116 170 1 302 442 414 103 437 57 314 355 237 451
## [127] 154 86 53 123 31 460 452 311 383 226 322 277 130 405 109 295 212 421
## [145] 317 200 20 99 16 386 498 165 489 84 495 478 291 134 436 348 316 58
## [163] 126 328 12 217 420 203 339 64 471 73 494 458 502 434 135 100 177 204
## [181] 285 209 82 143 215 159 183 196 216 315 346 22 25 172 233 352 412 231
## [199] 359 416 380 354 236 500 319 240 251 13 2 464 35 417 456 121 390 201
## [217] 418 401 77 18 475 486 146 241 299 244 114 447 503 149 424 228 275 477
## [235] 33 330 111 207 301 92 335 50 454 388 137 505 150 404 351 438 202 430
## [253] 96 484 327 162 431 155 282 499 496 270 235 479 158 419 56 457 189 397
## [271] 239 108 79 166 363 40 245 409 283 450 341 462 156 44 280 422 501 342
## [289] 191 370 144 269 194 185 429 392 306 358 199 85 94 181 186 349 80 145
## [307] 43 161 375 331 229 175 426 408 238 344 379 110 72 343 93 413 174 308
## [325] 480 59 234 128 151 169 104 167 242 470 473 297 179 278 107 83 102 51
## [343] 133 247 19 353 118 289 98 4 284 443 214 288 336 117 300 17 30 378
## [361] 463 293 365 491 497 400 323 26 266 428 29 28 389 198 372 70 286 411
## [379] 321 410 350 265 173 176 459 488 369 220 192 211 115 37 338 481 493 445
## [397] 206 48 347 27 258 6 274 142
X_train <- X[index_train, ]
y_train <- y[index_train]
X_test <- X[-index_train, ]
y_test <- y[-index_train]
obj <- LazyRegressor(venv_path = "../venv")
(res <- obj$fit(X_train, X_test, y_train, y_test))## Adjusted R-Squared R-Squared
## DeepCustomRegressor(ExtraTreesRegressor) 0.9057805 0.91790778
## DeepCustomRegressor(BaggingRegressor) 0.8634080 0.88098916
## DeepCustomRegressor(RandomForestRegressor) 0.8511052 0.87026992
## DeepCustomRegressor(MLPRegressor) 0.8499194 0.86923669
## RandomForestRegressor 0.8448451 0.86481553
## DeepCustomRegressor(AdaBoostRegressor) 0.8005664 0.82623607
## DeepCustomRegressor(LinearRegression) 0.7472819 0.77981001
## DeepCustomRegressor(TransformedTargetRegressor) 0.7472819 0.77981001
## DeepCustomRegressor(LassoLarsIC) 0.7472695 0.77979918
## DeepCustomRegressor(RidgeCV) 0.7471410 0.77968718
## DeepCustomRegressor(LassoLarsCV) 0.7429694 0.77605256
## DeepCustomRegressor(LassoCV) 0.7428514 0.77594970
## DeepCustomRegressor(Ridge) 0.7420801 0.77527772
## DeepCustomRegressor(HuberRegressor) 0.7395445 0.77306849
## DeepCustomRegressor(ElasticNetCV) 0.7327859 0.76717982
## DeepCustomRegressor(BayesianRidge) 0.7314119 0.76598263
## DeepCustomRegressor(KNeighborsRegressor) 0.7154223 0.75205113
## DeepCustomRegressor(SGDRegressor) 0.7078489 0.74545254
## DeepCustomRegressor(LarsCV) 0.7019229 0.74028925
## DeepCustomRegressor(LinearSVR) 0.6968942 0.73590783
## DeepCustomRegressor(Lasso) 0.6535395 0.69813345
## DeepCustomRegressor(LassoLars) 0.6535340 0.69812867
## DeepCustomRegressor(ExtraTreeRegressor) 0.6211290 0.66989454
## DeepCustomRegressor(PassiveAggressiveRegressor) 0.6086479 0.65901998
## DeepCustomRegressor(DecisionTreeRegressor) 0.6065707 0.65721013
## DeepCustomRegressor(ElasticNet) 0.6049283 0.65577912
## DeepCustomRegressor(TweedieRegressor) 0.5796672 0.63376940
## DeepCustomRegressor(RANSACRegressor) 0.4054278 0.48195691
## DeepCustomRegressor(DummyRegressor) -0.1830116 -0.03074282
## DeepCustomRegressor(QuantileRegressor) -0.2675167 -0.10437103
## DeepCustomRegressor(Lars) -3.0377540 -2.51804307
## RMSE Time Taken
## DeepCustomRegressor(ExtraTreesRegressor) 2.711916 1.9649322
## DeepCustomRegressor(BaggingRegressor) 3.265265 0.5710542
## DeepCustomRegressor(RandomForestRegressor) 3.409146 5.4784341
## DeepCustomRegressor(MLPRegressor) 3.422695 8.7470169
## RandomForestRegressor 3.480075 1.2352288
## DeepCustomRegressor(AdaBoostRegressor) 3.945527 1.0043678
## DeepCustomRegressor(LinearRegression) 4.441442 0.1169858
## DeepCustomRegressor(TransformedTargetRegressor) 4.441442 0.2038538
## DeepCustomRegressor(LassoLarsIC) 4.441551 0.1430681
## DeepCustomRegressor(RidgeCV) 4.442681 0.5692999
## DeepCustomRegressor(LassoLarsCV) 4.479178 0.3425362
## DeepCustomRegressor(LassoCV) 4.480206 0.9145920
## DeepCustomRegressor(Ridge) 4.486920 0.3606122
## DeepCustomRegressor(HuberRegressor) 4.508921 0.4298031
## DeepCustomRegressor(ElasticNetCV) 4.567048 0.5678279
## DeepCustomRegressor(BayesianRidge) 4.578775 0.1755390
## DeepCustomRegressor(KNeighborsRegressor) 4.713096 0.2389681
## DeepCustomRegressor(SGDRegressor) 4.775398 0.3397481
## DeepCustomRegressor(LarsCV) 4.823588 0.2068560
## DeepCustomRegressor(LinearSVR) 4.864106 0.1409967
## DeepCustomRegressor(Lasso) 5.200352 0.1639521
## DeepCustomRegressor(LassoLars) 5.200393 0.1282079
## DeepCustomRegressor(ExtraTreeRegressor) 5.438155 0.1271911
## DeepCustomRegressor(PassiveAggressiveRegressor) 5.527003 0.3566940
## DeepCustomRegressor(DecisionTreeRegressor) 5.541652 0.1772842
## DeepCustomRegressor(ElasticNet) 5.553207 0.2122571
## DeepCustomRegressor(TweedieRegressor) 5.727994 0.2920902
## DeepCustomRegressor(RANSACRegressor) 6.812526 1.2254152
## DeepCustomRegressor(DummyRegressor) 9.609491 0.1256380
## DeepCustomRegressor(QuantileRegressor) 9.946785 0.5869730
## DeepCustomRegressor(Lars) 17.753165 0.1446719
set.seed(123)
X <- matrix(rnorm(300), 100, 3)
(index_train <- base::sample.int(n = nrow(X),
size = floor(0.8*nrow(X)),
replace = FALSE))## [1] 60 62 80 9 11 43 30 61 74 55 93 34 57 38 84 63 46 78 70 18 2 72 75 21 88
## [26] 71 79 59 37 91 6 40 82 28 32 49 35 67 47 20 1 5 96 99 90 98 48 51 10 53
## [51] 65 7 87 44 36 23 89 24 4 29 45 58 33 3 54 94 76 83 66 8 26 56 14 25 13
## [76] 50 31 92 22 16
X_train <- data.frame(X[index_train, ])
X_test <- data.frame(X[-index_train, ])
obj <- LazyMTS(venv_path = "../venv")
(res <- obj$fit(X_train, X_test))## RMSE MAE MPL Time Taken
## MTS(BayesianRidge) 0.9693231 0.7284321 0.3642161 0.5628440
## MTS(ElasticNetCV) 0.9857480 0.7467560 0.3733780 6.6651118
## MTS(LassoCV) 0.9899658 0.7509848 0.3754924 3.9591010
## MTS(DummyRegressor) 0.9907240 0.7519778 0.3759889 1.1707079
## MTS(ElasticNet) 0.9907240 0.7519778 0.3759889 2.1703179
## MTS(Lasso) 0.9907240 0.7519778 0.3759889 0.2872217
## MTS(LassoLarsCV) 0.9907240 0.7519778 0.3759889 2.7926121
## MTS(LassoLars) 0.9907240 0.7519778 0.3759889 0.3674440
## MTS(LarsCV) 0.9956436 0.7448679 0.3724340 2.8965681
## MTS(QuantileRegressor) 0.9966559 0.7577475 0.3788738 0.4395552
## MTS(RandomForestRegressor) 1.0050021 0.7788496 0.3894248 23.9645088
## VAR 1.0110766 0.7739979 0.3869989 0.1627038
## MTS(MLPRegressor) 1.0155043 0.7619689 0.3809844 1.1144679
## MTS(KNeighborsRegressor) 1.0204875 0.7723135 0.3861567 0.4521461
## MTS(AdaBoostRegressor) 1.0255662 0.7926204 0.3963102 15.8921721
## MTS(ExtraTreesRegressor) 1.0429340 0.7754142 0.3877071 58.8169262
## MTS(BaggingRegressor) 1.0568736 0.8238503 0.4119252 2.4926169
## MTS(TweedieRegressor) 1.0676467 0.8112648 0.4056324 0.3024850
## MTS(RidgeCV) 1.2321289 0.9610130 0.4805065 0.3187330
## MTS(ExtraTreeRegressor) 1.2463809 0.9800255 0.4900127 0.4356580
## VECM 1.3765455 1.1327719 0.5663860 0.1125832
## MTS(SGDRegressor) 1.4109004 1.1323320 0.5661660 0.1901710
## MTS(DecisionTreeRegressor) 1.4451682 1.1283590 0.5641795 0.6362481
## MTS(Ridge) 1.6345720 1.3245349 0.6622674 0.3819172
## MTS(PassiveAggressiveRegressor) 1.7938410 1.4594719 0.7297360 0.1869881
## MTS(TransformedTargetRegressor) 2.0591218 1.6801762 0.8400881 0.2447400
## MTS(LinearRegression) 2.0591218 1.6801762 0.8400881 0.2512259
## MTS(HuberRegressor) 2.0780653 1.6828870 0.8414435 4.1471639
## MTS(LinearSVR) 2.0784001 1.6831479 0.8415739 0.2394900