gpt4 book ai didi

r - svd(x, nu = 0) 中的错误 : infinite or missing values in 'x' (checked no negative values exist)

转载 作者:行者123 更新时间:2023-11-30 09:53:12 25 4
gpt4 key购买 nike

我知道这是 PCA 的常见错误,但我尝试了提供的解决方案,但它不起作用。

我关注了: Error in svd(x, nu = 0) : 0 extent dimensions

下面是我的代码摘录:

require(class)
set.seed(2095)
# dataset source:https://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html
normalize<-function(x) {
return ((x - min(x)) / (max(x) - min(x)))
}
dataset <- read.csv("data/kdd_data_10pc.csv", header = FALSE, sep = ",")
names <- read.csv("data/kdd_names.csv", header = FALSE , sep = ";")
names(dataset) <- sapply((1:nrow(names)),function(i) toString(names[i, 1]))

# extracting relevant features
dataset_extracted <- dataset[, c("src_bytes", "dest_bytes", "count", "dst_host_count", "dst_host_same_srv_rate", "dst_host_serror_rate", "label")]

head(dataset_extracted, 3)

log.kdd <-log(dataset_extracted[, 1:6])
kdd.label <- dataset_extracted[, 7]

kdd.pca <-prcomp(log.kdd,
center = TRUE,
scale. = TRUE)

摘要(数据集)输出如下:

 summary(dataset_extracted)
src_bytes dest_bytes count dst_host_count dst_host_same_srv_rate dst_host_serror_rate label
Min. : 0 Min. : 0 Min. : 0.0 Min. : 0.0 Min. :0.0000 Min. :0.0000 smurf. :280790
1st Qu.: 45 1st Qu.: 0 1st Qu.:117.0 1st Qu.:255.0 1st Qu.:0.4100 1st Qu.:0.0000 neptune.:107201
Median : 520 Median : 0 Median :510.0 Median :255.0 Median :1.0000 Median :0.0000 normal. : 97278
Mean : 3026 Mean : 869 Mean :332.3 Mean :232.5 Mean :0.7538 Mean :0.1768 back. : 2203
3rd Qu.: 1032 3rd Qu.: 0 3rd Qu.:511.0 3rd Qu.:255.0 3rd Qu.:1.0000 3rd Qu.:0.0000 satan. : 1589
Max. :693375640 Max. :5155468 Max. :511.0 Max. :255.0 Max. :1.0000 Max. :1.0000 ipsweep.: 1247
(Other) : 3713

根据摘要,提取的列最小值均不为任何负值。

我是机器学习新手。感谢所提供的任何帮助。显示的确切错误是

Error in svd(x, nu = 0) : infinite or missing values in 'x'

最佳答案

您将对数转换应用于包含零值的对象(数据集)。这将产生负无穷大的元素。尝试使用 log1p() 代替。

另外,不要忘记应用您在函数 normalize() 中编码的标准化。

此外,考虑到某些异常值的大小,我不确定对数转换是否足够 - 您可能需要考虑排除一些观察结果。

关于r - svd(x, nu = 0) 中的错误 : infinite or missing values in 'x' (checked no negative values exist),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40827096/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com