0

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")
4

1 に答える 1