PenalizedLDA( x = train_x, y =train_y)
返回
sort.int(x, na.last = na.last, 递减 = 递减, ...) 中的错误:'x' 必须是原子的
我正在尝试对来自UCI的 sampbase 数据集使用带套索的线性判别分析。(我已将标题添加到列中,并在适当的情况下将列返回到区间 [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' 必须是原子的
我在这里卡住了。
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")