caretcaretinstall.packages("caret", repos = "https://cran.rstudio.com/")
## пакет 'caret' успешно распакован, MD5-суммы проверены
##
## Скачанные бинарные пакеты находятся в
## C:\Users\squor\AppData\Local\Temp\RtmpCg6Uto\downloaded_packages
library(caret)
# Вывести список доступных моделей
model_list <- names(getModelInfo())
head(model_list)
## [1] "ada" "AdaBag" "AdaBoost.M1" "adaboost" "amdai"
## [6] "ANFIS"
set.seed(123)
x <- matrix(rnorm(50*5), ncol=5)
y <- factor(rep(c("A", "B"), 25))
# Построение графика featurePlot
featurePlot(x, y, plot="box")
FSelector)FSelectorinstall.packages("FSelector", repos = "https://cran.rstudio.com/")
## пакет 'FSelector' успешно распакован, MD5-суммы проверены
##
## Скачанные бинарные пакеты находятся в
## C:\Users\squor\AppData\Local\Temp\RtmpCg6Uto\downloaded_packages
library(FSelector)
irisdata(iris)
importance <- information.gain(Species ~ ., iris)
importance
## attr_importance
## Sepal.Length 0.4521286
## Sepal.Width 0.2672750
## Petal.Length 0.9402853
## Petal.Width 0.9554360
arules)arulesinstall.packages("arules", repos = "https://cran.rstudio.com/")
## пакет 'arules' успешно распакован, MD5-суммы проверены
##
## Скачанные бинарные пакеты находятся в
## C:\Users\squor\AppData\Local\Temp\RtmpCg6Uto\downloaded_packages
library(arules)
Sepal.Lengthiris$Sepal.Length.interval <- discretize(iris$Sepal.Length, method="interval", categories=3)
## Warning in discretize(iris$Sepal.Length, method = "interval", categories = 3):
## Parameter categories is deprecated. Use breaks instead! Also, the default
## method is now frequency!
iris$Sepal.Length.frequency <- discretize(iris$Sepal.Length, method="frequency", categories=3)
## Warning in discretize(iris$Sepal.Length, method = "frequency", categories = 3):
## Parameter categories is deprecated. Use breaks instead! Also, the default
## method is now frequency!
# Вывод количества элементов в каждой категории
table(iris$Sepal.Length.interval)
##
## [4.3,5.5) [5.5,6.7) [6.7,7.9]
## 52 70 28
table(iris$Sepal.Length.frequency)
##
## [4.3,5.4) [5.4,6.3) [6.3,7.9]
## 46 53 51
Borutainstall.packages("Boruta", repos = "https://cran.rstudio.com/")
## пакет 'Boruta' успешно распакован, MD5-суммы проверены
##
## Скачанные бинарные пакеты находятся в
## C:\Users\squor\AppData\Local\Temp\RtmpCg6Uto\downloaded_packages
install.packages("mlbench", repos = "https://cran.rstudio.com/")
## пакет 'mlbench' успешно распакован, MD5-суммы проверены
##
## Скачанные бинарные пакеты находятся в
## C:\Users\squor\AppData\Local\Temp\RtmpCg6Uto\downloaded_packages
library(Boruta)
library(mlbench)
Ozonedata(Ozone)
# Преобразование факторных переменных в числовые
ozone_data <- Ozone
for (col in names(ozone_data)) {
if (is.factor(ozone_data[[col]])) {
ozone_data[[col]] <- as.numeric(as.character(ozone_data[[col]]))
}
}
# Удаление NA
ozone_data <- ozone_data[complete.cases(ozone_data), ]
set.seed(123)
boruta_result <- Boruta(V7 ~ ., data=ozone_data, doTrace=2, maxRuns=50)
# График результатов Boruta
plot(boruta_result)
library(ggplot2)
boruta_stats <- attStats(boruta_result)
ggplot(boruta_stats, aes(x=row.names(boruta_stats), y=meanImp)) +
geom_boxplot() +
coord_flip() +
labs(title="Boruta Feature Importance", x="Features", y="Importance") +
theme_minimal()
caret позволяет анализировать
данные и выбирать оптимальные модели.FSelector помогают выявлять
важность признаков с помощью information.gain().arules) полезна для
преобразования непрерывных данных в категориальные.