Установить пакет CARET, выполнить команду names(getModelInfo()), ознакомиться со списком доступных методов выбора признаков. Выполните графический разведочный анализ данных с использование функции featurePlot() для набора данных из справочного файла пакета CARET:
x <- matrix(rnorm(50*5),ncol=5)
y <- factor(rep(c(“A”, “B”), 25))
Сохранить полученные графики в *.jpg файлы. Сделать выводы.
Для начала установим пакет CARET:
Устанавливаю пакет в ‘C:/Users/qum1c/AppData/Local/R/win-library/4.4’ (потому что ‘lib’ не определено) устанавливаю также зависимости ‘listenv’, ‘parallelly’, ‘future’, ‘globals’, ‘shape’, ‘future.apply’, ‘numDeriv’, ‘progressr’, ‘SQUAREM’, ‘diagram’, ‘lava’, ‘tzdb’, ‘cpp11’, ‘prodlim’, ‘timechange’, ‘proxy’, ‘iterators’, ‘Rcpp’, ‘data.table’, ‘dplyr’, ‘clock’, ‘generics’, ‘gower’, ‘hardhat’, ‘ipred’, ‘lubridate’, ‘purrr’, ‘tidyr’, ‘tidyselect’, ‘timeDate’, ‘e1071’, ‘foreach’, ‘ModelMetrics’, ‘plyr’, ‘pROC’, ‘recipes’, ‘reshape2’Устанавливаю пакет в ‘C:/Users/qum1c/AppData/Local/R/win-library/4.4’ (потому что ‘lib’ не определено) устанавливаю также зависимости ‘listenv’, ‘parallelly’, ‘future’, ‘globals’, ‘shape’, ‘future.apply’, ‘numDeriv’, ‘progressr’, ‘SQUAREM’, ‘diagram’, ‘lava’, ‘tzdb’, ‘cpp11’, ‘prodlim’, ‘timechange’, ‘proxy’, ‘iterators’, ‘Rcpp’, ‘data.table’, ‘dplyr’, ‘clock’, ‘generics’, ‘gower’, ‘hardhat’, ‘ipred’, ‘lubridate’, ‘purrr’, ‘tidyr’, ‘tidyselect’, ‘timeDate’, ‘e1071’, ‘foreach’, ‘ModelMetrics’, ‘plyr’, ‘pROC’, ‘recipes’, ‘reshape2’
Скачанные бинарные пакеты находятся в
C:\Users\qum1c\AppData\Local\Temp\RtmpsNYp6V\downloaded_packages
Загрузим пакет:
Загрузка требуемого пакета: ggplot2
Загрузка требуемого пакета: lattice
Выполним команду names(getModelInfo()) и ознакомимся со списком доступных признаков:
[1] "ada" "AdaBag" "AdaBoost.M1"
[4] "adaboost" "amdai" "ANFIS"
[7] "avNNet" "awnb" "awtan"
[10] "bag" "bagEarth" "bagEarthGCV"
[13] "bagFDA" "bagFDAGCV" "bam"
[16] "bartMachine" "bayesglm" "binda"
[19] "blackboost" "blasso" "blassoAveraged"
[22] "bridge" "brnn" "BstLm"
[25] "bstSm" "bstTree" "C5.0"
[28] "C5.0Cost" "C5.0Rules" "C5.0Tree"
[31] "cforest" "chaid" "CSimca"
[34] "ctree" "ctree2" "cubist"
[37] "dda" "deepboost" "DENFIS"
[40] "dnn" "dwdLinear" "dwdPoly"
[43] "dwdRadial" "earth" "elm"
[46] "enet" "evtree" "extraTrees"
[49] "fda" "FH.GBML" "FIR.DM"
[52] "foba" "FRBCS.CHI" "FRBCS.W"
[55] "FS.HGD" "gam" "gamboost"
[58] "gamLoess" "gamSpline" "gaussprLinear"
[61] "gaussprPoly" "gaussprRadial" "gbm_h2o"
[64] "gbm" "gcvEarth" "GFS.FR.MOGUL"
[67] "GFS.LT.RS" "GFS.THRIFT" "glm.nb"
[70] "glm" "glmboost" "glmnet_h2o"
[73] "glmnet" "glmStepAIC" "gpls"
[76] "hda" "hdda" "hdrda"
[79] "HYFIS" "icr" "J48"
[82] "JRip" "kernelpls" "kknn"
[85] "knn" "krlsPoly" "krlsRadial"
[88] "lars" "lars2" "lasso"
[91] "lda" "lda2" "leapBackward"
[94] "leapForward" "leapSeq" "Linda"
[97] "lm" "lmStepAIC" "LMT"
[100] "loclda" "logicBag" "LogitBoost"
[103] "logreg" "lssvmLinear" "lssvmPoly"
[106] "lssvmRadial" "lvq" "M5"
[109] "M5Rules" "manb" "mda"
[112] "Mlda" "mlp" "mlpKerasDecay"
[115] "mlpKerasDecayCost" "mlpKerasDropout" "mlpKerasDropoutCost"
[118] "mlpML" "mlpSGD" "mlpWeightDecay"
[121] "mlpWeightDecayML" "monmlp" "msaenet"
[124] "multinom" "mxnet" "mxnetAdam"
[127] "naive_bayes" "nb" "nbDiscrete"
[130] "nbSearch" "neuralnet" "nnet"
[133] "nnls" "nodeHarvest" "null"
[136] "OneR" "ordinalNet" "ordinalRF"
[139] "ORFlog" "ORFpls" "ORFridge"
[142] "ORFsvm" "ownn" "pam"
[145] "parRF" "PART" "partDSA"
[148] "pcaNNet" "pcr" "pda"
[151] "pda2" "penalized" "PenalizedLDA"
[154] "plr" "pls" "plsRglm"
[157] "polr" "ppr" "pre"
[160] "PRIM" "protoclass" "qda"
[163] "QdaCov" "qrf" "qrnn"
[166] "randomGLM" "ranger" "rbf"
[169] "rbfDDA" "Rborist" "rda"
[172] "regLogistic" "relaxo" "rf"
[175] "rFerns" "RFlda" "rfRules"
[178] "ridge" "rlda" "rlm"
[181] "rmda" "rocc" "rotationForest"
[184] "rotationForestCp" "rpart" "rpart1SE"
[187] "rpart2" "rpartCost" "rpartScore"
[190] "rqlasso" "rqnc" "RRF"
[193] "RRFglobal" "rrlda" "RSimca"
[196] "rvmLinear" "rvmPoly" "rvmRadial"
[199] "SBC" "sda" "sdwd"
[202] "simpls" "SLAVE" "slda"
[205] "smda" "snn" "sparseLDA"
[208] "spikeslab" "spls" "stepLDA"
[211] "stepQDA" "superpc" "svmBoundrangeString"
[214] "svmExpoString" "svmLinear" "svmLinear2"
[217] "svmLinear3" "svmLinearWeights" "svmLinearWeights2"
[220] "svmPoly" "svmRadial" "svmRadialCost"
[223] "svmRadialSigma" "svmRadialWeights" "svmSpectrumString"
[226] "tan" "tanSearch" "treebag"
[229] "vbmpRadial" "vglmAdjCat" "vglmContRatio"
[232] "vglmCumulative" "widekernelpls" "WM"
[235] "wsrf" "xgbDART" "xgbLinear"
[238] "xgbTree" "xyf"
Выполним графический разведочный анализ данных с использованиеv функции featurePlot() для набора данных из справочного файла пакета CARET:
Теперь получим график плотности для каждого признака:
Для того, чтобы сохранить эти графики в jpg формате, мы можем воспользоваться функцией jpeg()
windows
2
windows
2
С использованием функций из пакета Fselector определить важность признаков для решения задачи классификации. Использовать набор data(iris). Сделать выводы.
Для начала установим пакет Fselector:
Устанавливаю пакет в ‘C:/Users/qum1c/AppData/Local/R/win-library/4.4’
(потому что ‘lib’ не определено)
устанавливаю также зависимости ‘RWekajars’, ‘rJava’, ‘entropy’, ‘randomForest’, ‘RWeka’
Скачанные бинарные пакеты находятся в
C:\Users\qum1c\AppData\Local\Temp\RtmpsNYp6V\downloaded_packages
Затем загрузим пакет:
Для определения важности признаков для решения задачи классификации, воспользуемся функцией information.gain, используя набор data(iris):
Результат выполнения функции показал, что признак Petal.Width имеет наибольшую информационную выгоду при решении задачи классификации.
attr_importance
Sepal.Length 0.4521286
Sepal.Width 0.2672750
Petal.Length 0.9402853
Petal.Width 0.9554360
#Задание 3
С использованием функции discretize() из пакета arules выполните преобразование непрерывной переменной в категориальную [3] различными методами: «interval» (равная ширина интервала), «frequency» (равная частота), «cluster» (кластеризация) и «fixed» (категории задают границы интервалов). Используйте набор данных iris. Сделайте выводы
##Выполнение
Для начала установим пакет arules:
Устанавливаю пакет в ‘C:/Users/qum1c/AppData/Local/R/win-library/4.4’
(потому что ‘lib’ не определено)
пробую URL 'http://cran.us.r-project.org/bin/windows/contrib/4.4/arules_1.7-8.zip'
Content type 'application/zip' length 2618372 bytes (2.5 MB)
downloaded 2.5 MB
пакет ‘arules’ успешно распакован, MD5-суммы проверены
Скачанные бинарные пакеты находятся в
C:\Users\qum1c\AppData\Local\Temp\RtmpsNYp6V\downloaded_packages
Затем запустим пакет:
Загрузка требуемого пакета: Matrix
Присоединяю пакет: ‘arules’
Следующие объекты скрыты от ‘package:base’:
abbreviate, write
Для преобразования непрерывной переменной в категориальную воспользуемся функцией discretize() из пакета arules и будем использовать набор данных iris. Для начала воспользуемся методом “interval” (равная ширина интервала):
В итоге преобразования непрерывной переменной в категориальную методом “interval”, мы получим:
[1] [5.02,5.74) [4.3,5.02) [4.3,5.02) [4.3,5.02) [4.3,5.02) [5.02,5.74) [4.3,5.02)
[8] [4.3,5.02) [4.3,5.02) [4.3,5.02) [5.02,5.74) [4.3,5.02) [4.3,5.02) [4.3,5.02)
[15] [5.74,6.46) [5.02,5.74) [5.02,5.74) [5.02,5.74) [5.02,5.74) [5.02,5.74) [5.02,5.74)
[22] [5.02,5.74) [4.3,5.02) [5.02,5.74) [4.3,5.02) [4.3,5.02) [4.3,5.02) [5.02,5.74)
[29] [5.02,5.74) [4.3,5.02) [4.3,5.02) [5.02,5.74) [5.02,5.74) [5.02,5.74) [4.3,5.02)
[36] [4.3,5.02) [5.02,5.74) [4.3,5.02) [4.3,5.02) [5.02,5.74) [4.3,5.02) [4.3,5.02)
[43] [4.3,5.02) [4.3,5.02) [5.02,5.74) [4.3,5.02) [5.02,5.74) [4.3,5.02) [5.02,5.74)
[50] [4.3,5.02) [6.46,7.18) [5.74,6.46) [6.46,7.18) [5.02,5.74) [6.46,7.18) [5.02,5.74)
[57] [5.74,6.46) [4.3,5.02) [6.46,7.18) [5.02,5.74) [4.3,5.02) [5.74,6.46) [5.74,6.46)
[64] [5.74,6.46) [5.02,5.74) [6.46,7.18) [5.02,5.74) [5.74,6.46) [5.74,6.46) [5.02,5.74)
[71] [5.74,6.46) [5.74,6.46) [5.74,6.46) [5.74,6.46) [5.74,6.46) [6.46,7.18) [6.46,7.18)
[78] [6.46,7.18) [5.74,6.46) [5.02,5.74) [5.02,5.74) [5.02,5.74) [5.74,6.46) [5.74,6.46)
[85] [5.02,5.74) [5.74,6.46) [6.46,7.18) [5.74,6.46) [5.02,5.74) [5.02,5.74) [5.02,5.74)
[92] [5.74,6.46) [5.74,6.46) [4.3,5.02) [5.02,5.74) [5.02,5.74) [5.02,5.74) [5.74,6.46)
[99] [5.02,5.74) [5.02,5.74) [5.74,6.46) [5.74,6.46) [6.46,7.18) [5.74,6.46) [6.46,7.18)
[106] [7.18,7.9] [4.3,5.02) [7.18,7.9] [6.46,7.18) [7.18,7.9] [6.46,7.18) [5.74,6.46)
[113] [6.46,7.18) [5.02,5.74) [5.74,6.46) [5.74,6.46) [6.46,7.18) [7.18,7.9] [7.18,7.9]
[120] [5.74,6.46) [6.46,7.18) [5.02,5.74) [7.18,7.9] [5.74,6.46) [6.46,7.18) [7.18,7.9]
[127] [5.74,6.46) [5.74,6.46) [5.74,6.46) [7.18,7.9] [7.18,7.9] [7.18,7.9] [5.74,6.46)
[134] [5.74,6.46) [5.74,6.46) [7.18,7.9] [5.74,6.46) [5.74,6.46) [5.74,6.46) [6.46,7.18)
[141] [6.46,7.18) [6.46,7.18) [5.74,6.46) [6.46,7.18) [6.46,7.18) [6.46,7.18) [5.74,6.46)
[148] [6.46,7.18) [5.74,6.46) [5.74,6.46)
attr(,"discretized:breaks")
[1] 4.30 5.02 5.74 6.46 7.18 7.90
attr(,"discretized:method")
[1] interval
Levels: [4.3,5.02) [5.02,5.74) [5.74,6.46) [6.46,7.18) [7.18,7.9]
Перейдем к методу “frequency” (равная частота):
Вывод:
[1] [5,5.6) [4.3,5) [4.3,5) [4.3,5) [5,5.6) [5,5.6) [4.3,5) [5,5.6)
[9] [4.3,5) [4.3,5) [5,5.6) [4.3,5) [4.3,5) [4.3,5) [5.6,6.1) [5.6,6.1)
[17] [5,5.6) [5,5.6) [5.6,6.1) [5,5.6) [5,5.6) [5,5.6) [4.3,5) [5,5.6)
[25] [4.3,5) [5,5.6) [5,5.6) [5,5.6) [5,5.6) [4.3,5) [4.3,5) [5,5.6)
[33] [5,5.6) [5,5.6) [4.3,5) [5,5.6) [5,5.6) [4.3,5) [4.3,5) [5,5.6)
[41] [5,5.6) [4.3,5) [4.3,5) [5,5.6) [5,5.6) [4.3,5) [5,5.6) [4.3,5)
[49] [5,5.6) [5,5.6) [6.52,7.9] [6.1,6.52) [6.52,7.9] [5,5.6) [6.1,6.52) [5.6,6.1)
[57] [6.1,6.52) [4.3,5) [6.52,7.9] [5,5.6) [5,5.6) [5.6,6.1) [5.6,6.1) [6.1,6.52)
[65] [5.6,6.1) [6.52,7.9] [5.6,6.1) [5.6,6.1) [6.1,6.52) [5.6,6.1) [5.6,6.1) [6.1,6.52)
[73] [6.1,6.52) [6.1,6.52) [6.1,6.52) [6.52,7.9] [6.52,7.9] [6.52,7.9] [5.6,6.1) [5.6,6.1)
[81] [5,5.6) [5,5.6) [5.6,6.1) [5.6,6.1) [5,5.6) [5.6,6.1) [6.52,7.9] [6.1,6.52)
[89] [5.6,6.1) [5,5.6) [5,5.6) [6.1,6.52) [5.6,6.1) [5,5.6) [5.6,6.1) [5.6,6.1)
[97] [5.6,6.1) [6.1,6.52) [5,5.6) [5.6,6.1) [6.1,6.52) [5.6,6.1) [6.52,7.9] [6.1,6.52)
[105] [6.1,6.52) [6.52,7.9] [4.3,5) [6.52,7.9] [6.52,7.9] [6.52,7.9] [6.1,6.52) [6.1,6.52)
[113] [6.52,7.9] [5.6,6.1) [5.6,6.1) [6.1,6.52) [6.1,6.52) [6.52,7.9] [6.52,7.9] [5.6,6.1)
[121] [6.52,7.9] [5.6,6.1) [6.52,7.9] [6.1,6.52) [6.52,7.9] [6.52,7.9] [6.1,6.52) [6.1,6.52)
[129] [6.1,6.52) [6.52,7.9] [6.52,7.9] [6.52,7.9] [6.1,6.52) [6.1,6.52) [6.1,6.52) [6.52,7.9]
[137] [6.1,6.52) [6.1,6.52) [5.6,6.1) [6.52,7.9] [6.52,7.9] [6.52,7.9] [5.6,6.1) [6.52,7.9]
[145] [6.52,7.9] [6.52,7.9] [6.1,6.52) [6.1,6.52) [6.1,6.52) [5.6,6.1)
attr(,"discretized:breaks")
[1] 4.30 5.00 5.60 6.10 6.52 7.90
attr(,"discretized:method")
[1] frequency
Levels: [4.3,5) [5,5.6) [5.6,6.1) [6.1,6.52) [6.52,7.9]
Затем к методу “cluster”(кластеризация):
Вывод:
[1] [4.3,5.15) [4.3,5.15) [4.3,5.15) [4.3,5.15) [4.3,5.15) [5.15,5.68) [4.3,5.15)
[8] [4.3,5.15) [4.3,5.15) [4.3,5.15) [5.15,5.68) [4.3,5.15) [4.3,5.15) [4.3,5.15)
[15] [5.68,6.24) [5.68,6.24) [5.15,5.68) [4.3,5.15) [5.68,6.24) [4.3,5.15) [5.15,5.68)
[22] [4.3,5.15) [4.3,5.15) [4.3,5.15) [4.3,5.15) [4.3,5.15) [4.3,5.15) [5.15,5.68)
[29] [5.15,5.68) [4.3,5.15) [4.3,5.15) [5.15,5.68) [5.15,5.68) [5.15,5.68) [4.3,5.15)
[36] [4.3,5.15) [5.15,5.68) [4.3,5.15) [4.3,5.15) [4.3,5.15) [4.3,5.15) [4.3,5.15)
[43] [4.3,5.15) [4.3,5.15) [4.3,5.15) [4.3,5.15) [4.3,5.15) [4.3,5.15) [5.15,5.68)
[50] [4.3,5.15) [6.24,7.02) [6.24,7.02) [6.24,7.02) [5.15,5.68) [6.24,7.02) [5.68,6.24)
[57] [6.24,7.02) [4.3,5.15) [6.24,7.02) [5.15,5.68) [4.3,5.15) [5.68,6.24) [5.68,6.24)
[64] [5.68,6.24) [5.15,5.68) [6.24,7.02) [5.15,5.68) [5.68,6.24) [5.68,6.24) [5.15,5.68)
[71] [5.68,6.24) [5.68,6.24) [6.24,7.02) [5.68,6.24) [6.24,7.02) [6.24,7.02) [6.24,7.02)
[78] [6.24,7.02) [5.68,6.24) [5.68,6.24) [5.15,5.68) [5.15,5.68) [5.68,6.24) [5.68,6.24)
[85] [5.15,5.68) [5.68,6.24) [6.24,7.02) [6.24,7.02) [5.15,5.68) [5.15,5.68) [5.15,5.68)
[92] [5.68,6.24) [5.68,6.24) [4.3,5.15) [5.15,5.68) [5.68,6.24) [5.68,6.24) [5.68,6.24)
[99] [4.3,5.15) [5.68,6.24) [6.24,7.02) [5.68,6.24) [7.02,7.9] [6.24,7.02) [6.24,7.02)
[106] [7.02,7.9] [4.3,5.15) [7.02,7.9] [6.24,7.02) [7.02,7.9] [6.24,7.02) [6.24,7.02)
[113] [6.24,7.02) [5.68,6.24) [5.68,6.24) [6.24,7.02) [6.24,7.02) [7.02,7.9] [7.02,7.9]
[120] [5.68,6.24) [6.24,7.02) [5.15,5.68) [7.02,7.9] [6.24,7.02) [6.24,7.02) [7.02,7.9]
[127] [5.68,6.24) [5.68,6.24) [6.24,7.02) [7.02,7.9] [7.02,7.9] [7.02,7.9] [6.24,7.02)
[134] [6.24,7.02) [5.68,6.24) [7.02,7.9] [6.24,7.02) [6.24,7.02) [5.68,6.24) [6.24,7.02)
[141] [6.24,7.02) [6.24,7.02) [5.68,6.24) [6.24,7.02) [6.24,7.02) [6.24,7.02) [6.24,7.02)
[148] [6.24,7.02) [5.68,6.24) [5.68,6.24)
attr(,"discretized:breaks")
[1] 4.300000 5.148882 5.681127 6.239781 7.016987 7.900000
attr(,"discretized:method")
[1] cluster
Levels: [4.3,5.15) [5.15,5.68) [5.68,6.24) [6.24,7.02) [7.02,7.9]
И к последнему методу - fixed(категории задают границы интервалов):
Вывод:
[1] [5.02,5.74) [4.3,5.02) [4.3,5.02) [4.3,5.02) [4.3,5.02) [5.02,5.74) [4.3,5.02)
[8] [4.3,5.02) [4.3,5.02) [4.3,5.02) [5.02,5.74) [4.3,5.02) [4.3,5.02) [4.3,5.02)
[15] [5.74,6.46) [5.02,5.74) [5.02,5.74) [5.02,5.74) [5.02,5.74) [5.02,5.74) [5.02,5.74)
[22] [5.02,5.74) [4.3,5.02) [5.02,5.74) [4.3,5.02) [4.3,5.02) [4.3,5.02) [5.02,5.74)
[29] [5.02,5.74) [4.3,5.02) [4.3,5.02) [5.02,5.74) [5.02,5.74) [5.02,5.74) [4.3,5.02)
[36] [4.3,5.02) [5.02,5.74) [4.3,5.02) [4.3,5.02) [5.02,5.74) [4.3,5.02) [4.3,5.02)
[43] [4.3,5.02) [4.3,5.02) [5.02,5.74) [4.3,5.02) [5.02,5.74) [4.3,5.02) [5.02,5.74)
[50] [4.3,5.02) [6.46,7.18) [5.74,6.46) [6.46,7.18) [5.02,5.74) [6.46,7.18) [5.02,5.74)
[57] [5.74,6.46) [4.3,5.02) [6.46,7.18) [5.02,5.74) [4.3,5.02) [5.74,6.46) [5.74,6.46)
[64] [5.74,6.46) [5.02,5.74) [6.46,7.18) [5.02,5.74) [5.74,6.46) [5.74,6.46) [5.02,5.74)
[71] [5.74,6.46) [5.74,6.46) [5.74,6.46) [5.74,6.46) [5.74,6.46) [6.46,7.18) [6.46,7.18)
[78] [6.46,7.18) [5.74,6.46) [5.02,5.74) [5.02,5.74) [5.02,5.74) [5.74,6.46) [5.74,6.46)
[85] [5.02,5.74) [5.74,6.46) [6.46,7.18) [5.74,6.46) [5.02,5.74) [5.02,5.74) [5.02,5.74)
[92] [5.74,6.46) [5.74,6.46) [4.3,5.02) [5.02,5.74) [5.02,5.74) [5.02,5.74) [5.74,6.46)
[99] [5.02,5.74) [5.02,5.74) [5.74,6.46) [5.74,6.46) [6.46,7.18) [5.74,6.46) [6.46,7.18)
[106] [7.18,7.9] [4.3,5.02) [7.18,7.9] [6.46,7.18) [7.18,7.9] [6.46,7.18) [5.74,6.46)
[113] [6.46,7.18) [5.02,5.74) [5.74,6.46) [5.74,6.46) [6.46,7.18) [7.18,7.9] [7.18,7.9]
[120] [5.74,6.46) [6.46,7.18) [5.02,5.74) [7.18,7.9] [5.74,6.46) [6.46,7.18) [7.18,7.9]
[127] [5.74,6.46) [5.74,6.46) [5.74,6.46) [7.18,7.9] [7.18,7.9] [7.18,7.9] [5.74,6.46)
[134] [5.74,6.46) [5.74,6.46) [7.18,7.9] [5.74,6.46) [5.74,6.46) [5.74,6.46) [6.46,7.18)
[141] [6.46,7.18) [6.46,7.18) [5.74,6.46) [6.46,7.18) [6.46,7.18) [6.46,7.18) [5.74,6.46)
[148] [6.46,7.18) [5.74,6.46) [5.74,6.46)
attr(,"discretized:breaks")
[1] 4.30 5.02 5.74 6.46 7.18 7.90
attr(,"discretized:method")
[1] interval
Levels: [4.3,5.02) [5.02,5.74) [5.74,6.46) [6.46,7.18) [7.18,7.9]
#Задание 4 Установите пакет Boruta и проведите выбор признаков для набора данных data(“Ozone”) [4, 5, 6]. Построить график boxplot, сделать выводы.
##Выполнение
Установим пакет Boruta:
Устанавливаю пакет в ‘C:/Users/qum1c/AppData/Local/R/win-library/4.4’
(потому что ‘lib’ не определено)
устанавливаю также зависимости ‘RcppEigen’, ‘ranger’
пробую URL 'http://cran.us.r-project.org/bin/windows/contrib/4.4/RcppEigen_0.3.4.0.2.zip'
Content type 'application/zip' length 2592470 bytes (2.5 MB)
downloaded 2.5 MB
пробую URL 'http://cran.us.r-project.org/bin/windows/contrib/4.4/ranger_0.16.0.zip'
Content type 'application/zip' length 763258 bytes (745 KB)
downloaded 745 KB
пробую URL 'http://cran.us.r-project.org/bin/windows/contrib/4.4/Boruta_8.0.0.zip'
Content type 'application/zip' length 456921 bytes (446 KB)
downloaded 446 KB
пакет ‘RcppEigen’ успешно распакован, MD5-суммы проверены
пакет ‘ranger’ успешно распакован, MD5-суммы проверены
пакет ‘Boruta’ успешно распакован, MD5-суммы проверены
Скачанные бинарные пакеты находятся в
C:\Users\qum1c\AppData\Local\Temp\RtmpsNYp6V\downloaded_packages
Затем запустим пакет:
Помимо этого стоит установить пакет mlbench, без него не использовать набор данных “Ozone”:
Теперь же, мы можем перейти к выбору признаков.
1. run of importance source...
2. run of importance source...
3. run of importance source...
4. run of importance source...
5. run of importance source...
6. run of importance source...
7. run of importance source...
8. run of importance source...
9. run of importance source...
10. run of importance source...
11. run of importance source...
After 11 iterations, +0.34 secs:
confirmed 9 attributes: V1, V10, V11, V12, V13 and 4 more;
rejected 1 attribute: V3;
still have 2 attributes left.
12. run of importance source...
13. run of importance source...
14. run of importance source...
15. run of importance source...
After 15 iterations, +0.46 secs:
rejected 1 attribute: V2;
still have 1 attribute left.
16. run of importance source...
17. run of importance source...
18. run of importance source...
19. run of importance source...
20. run of importance source...
21. run of importance source...
22. run of importance source...
23. run of importance source...
24. run of importance source...
25. run of importance source...
26. run of importance source...
27. run of importance source...
28. run of importance source...
29. run of importance source...
30. run of importance source...
31. run of importance source...
32. run of importance source...
33. run of importance source...
After 33 iterations, +0.94 secs:
rejected 1 attribute: V6;
no more attributes left.
Посмотрим на результат выбора признаков:
Boruta performed 33 iterations in 0.94104 secs.
9 attributes confirmed important: V1, V10, V11, V12, V13 and 4 more;
3 attributes confirmed unimportant: V2, V3, V6;
Теперь построим boxplot график: