Модели: SVM Данные: Auto {ISLR}
Зависимая переменная: high.mpg. Объясняющие переменные: weight, horsepower.
## Warning: package 'ROCR' was built under R version 3.4.4
## Loading required package: gplots
## Warning: package 'gplots' was built under R version 3.4.4
##
## Attaching package: 'gplots'
## The following object is masked from 'package:stats':
##
## lowess
## [1] 1 4 6 7 8 9 13 14 17 36 39 40 42 44 45 46 47
## [18] 48 60 62 71 72 75 77 78 85 93 96 97 107 108 111 112 113
## [35] 115 120 127 133 137 139 151 152 154 155 168 178 186 193 200 209 210
## [52] 211 213 228 240 241 242 250 251 255 256 258 273 274 275 279 280 289
## [69] 362 24 30 31 52 53 56 57 59 101 118 131 142 169 177 185 192
## [86] 233 234 237 239 265 266 270 272 294 295 296 297 299 300 301 302 303
## [103] 305 306 312 314 317 319 320 321 322 327 328 330 331 332 334 338 349
## [120] 352 353 354 355 356 357 358 360 365 369 371 373 381 383 385 386 387
## [137] 388
##
## Call:
## svm(formula = y ~ ., data = dat, kernel = "linear", cost = 10,
## scale = FALSE)
##
##
## Parameters:
## SVM-Type: C-classification
## SVM-Kernel: linear
## cost: 10
## gamma: 0.5
##
## Number of Support Vectors: 137
##
## ( 69 68 )
##
##
## Number of Classes: 2
##
## Levels:
## No Yes
## [1] 1 4 6 7 8 9 13 14 17 36 37 39 40 41 42 44 45
## [18] 46 47 48 60 61 62 71 72 75 76 77 78 85 93 96 97 98
## [35] 106 107 108 109 110 111 112 113 115 120 123 124 125 127 132 133 134
## [52] 137 139 151 152 153 154 155 168 175 178 186 193 200 209 210 211 213
## [69] 220 226 228 240 241 242 248 250 251 252 253 255 256 257 258 273 274
## [86] 275 279 280 281 289 362 24 30 31 52 53 55 56 57 59 83 101
## [103] 102 118 130 131 140 142 166 169 170 177 181 185 192 203 204 205 233
## [120] 234 237 239 265 266 270 272 292 294 295 296 297 298 299 300 301 302
## [137] 303 305 306 312 314 317 319 320 321 322 326 327 328 329 330 331 332
## [154] 334 335 336 338 348 349 350 351 352 353 354 355 356 357 358 360 364
## [171] 365 366 369 371 373 377 381 383 385 386 387 388
##
## Parameter tuning of 'svm':
##
## - sampling method: 10-fold cross validation
##
## - best parameters:
## cost
## 0.01
##
## - best performance: 0.2732051
##
## - Detailed performance results:
## cost error dispersion
## 1 1e-03 0.5108974 0.10473835
## 2 1e-02 0.2732051 0.08185116
## 3 1e-01 0.2732051 0.06816862
## 4 1e+00 0.2732051 0.06487413
## 5 5e+00 0.2732051 0.06487413
## 6 1e+01 0.2732051 0.06487413
## 7 1e+02 0.2732051 0.06487413
Лучшая модель - cost = 0.01.
##
## Call:
## best.tune(method = svm, train.x = y ~ ., data = dat, ranges = list(cost = c(0.001,
## 0.01, 0.1, 1, 5, 10, 100)), kernel = "linear")
##
##
## Parameters:
## SVM-Type: C-classification
## SVM-Kernel: linear
## cost: 0.01
## gamma: 0.5
##
## Number of Support Vectors: 304
##
## ( 152 152 )
##
##
## Number of Classes: 2
##
## Levels:
## No Yes
## truth
## predict No Yes
## No 139 49
## Yes 57 147
## truth
## predict No Yes
## No 137 47
## Yes 59 149
## [1] 0.7295918
Точность модели составила 0.7295918. Высокая, но недостаточная.
##
## Call:
## svm(formula = y ~ ., data = dat, kernel = "linear", cost = 1e+05)
##
##
## Parameters:
## SVM-Type: C-classification
## SVM-Kernel: linear
## cost: 1e+05
## gamma: 0.5
##
## Number of Support Vectors: 233
##
## ( 116 117 )
##
##
## Number of Classes: 2
##
## Levels:
## No Yes
##
## Call:
## svm(formula = y ~ ., data = dat, kernel = "linear", cost = 1)
##
##
## Parameters:
## SVM-Type: C-classification
## SVM-Kernel: linear
## cost: 1
## gamma: 0.5
##
## Number of Support Vectors: 232
##
## ( 116 116 )
##
##
## Number of Classes: 2
##
## Levels:
## No Yes
Отчетливо видно, что ROC-кривые показывают нам достаточное количество неточных предсказаний. Я бы объяснил это тем, что 2 объясняющих переменных мало для установления связи с зависимой переменной. Также, точность предсказаний можно было бы увеличить, если уменьшить выборку наблюдений, избавившись, например, от аномальных значений.