PenalizedLDA( x = train_x, y =train_y)
возвращает
Ошибка в sort.int (x, na.last = na.last, уменьшение = уменьшение, ...): x должен быть атомарным
Я пытаюсь использовать линейный дискриминантный анализ с использованием лассо для набора данных базы выборки из UCI . (Я добавил заголовки к столбцам и, где это необходимо, возвращаю столбцы с интервалом [0,1].
При первом запуске кода он выдал ошибку
Ошибка в PenalizedLDA (x = train_x, y = train_y): y должен быть числовым векторомсо значениями следующим образом: 1, 2, ....
Я решил, что, передав train_y как
train_y =as.list.numeric_version(training_set[,58])
Когда я снова запустил его, я получил ошибку
Ошибка в sort.int (x, na.last = na.last, убывающий = убывающий, ...): x должен быть атомарным
Здесь Iзастрял.
library(penalizedLDA)
data = read.csv("spambase.csv",header = TRUE)
new_data = data/100
new_data[,c(55,56,57,58)] = data[,c(55,56,57,58)]
new_data[,58]= factor(new_data[,58])
# Splitting dataset into Training set and Test set
set.seed(seeds)
split = sample.split(new_data$factor, SplitRatio = 0.7)
training_set = subset(new_data, split == TRUE)
test_set = subset(new_data, split == FALSE)
#scale data
training_set[-58] = scale(training_set[,-58])
test_set[-58] = scale(test_set[,-58])
train_x =training_set[,-58]
train_y =as.list.numeric_version(training_set[,58])
#Sparse linear discriminant Analysis
classifier = PenalizedLDA( x = training_set[,-58], y =training_set[,58],K = 1,lambda = "standard")