library(caret)
library(FSelector)
library(arules)
library(Boruta)
library(caret)
model_methods <- names(getModelInfo()) # вывод доступных методов выбора признаков
print(model_methods)
set.seed(123) # создаем случайный набор данных
x <- matrix(rnorm(50*5), ncol=5)
y <- factor(rep(c(“A”, “B”), 25))
featurePlot(x, y, plot = “density”)
jpeg(“feature_plot.jpg”) # сохранение графика в файл
featurePlot(x, y, plot = “density”)
dev.off()
library(FSelector)
data(iris) # загрузка данных
weights_info <- information.gain(Species ~ ., iris) # оценка важности признаков
weights_ratio <- gain.ratio(Species ~ ., iris)
weights_symm <- symmetrical.uncertainty(Species ~ ., iris)
print(weights_info)
print(weights_ratio)
print(weights_symm)
library(arules)
interval_disc <- discretize(iris$Petal.Length, method = “interval”, categories = 3) # дискретизация переменной Petal.Length
frequency_disc <- discretize(iris$Petal.Length, method = “frequency”, categories = 3)
cluster_disc <- discretize(iris$Petal.Length, method = “cluster”, categories = 3)
fixed_disc <- discretize(iris$Petal.Length, method = “fixed”, categories = c(1,3,5))
print(table(interval_disc))
print(table(frequency_disc))
print(table(cluster_disc))
print(table(fixed_disc))
library(Boruta)
data(Ozone, package = “mlbench”) # загрузка набора данных Ozone
Ozone <- na.omit(Ozone) # удаление пропущенных значений
set.seed(123)
boruta_result <- Boruta(V4 ~ ., data = Ozone, doTrace = 2)
print(boruta_result)
boxplot(boruta_result, las = 2, main = “Boruta Feature Importance”) #построение графика