【问题标题】:Training the datasets in R studio在 R studio 中训练数据集
【发布时间】:2019-08-14 21:19:35
【问题描述】:

我将数据集划分为 70% 的训练集和 30% 的验证集。也有很多 NaN 变量,也许正因为如此,我无法训练我的数据。虽然,我能够将数据集区分为训练和测试数据集。但是当我想训练时,我收到了这个错误(“na.fail.default 中的错误(list(ndvi = c(0.426755102040816, 0.409, 0.501735849056604, : missing values in object”)。

我想使用 NDVI 估计生物量,然后查看与观察到的生物量的关系。

set.seed(123)
inTrain = createDataPartition(newdata$ndvi, p = 0.7, list = FALSE)
training = newdata[ inTrain,]
testing = newdata[-inTrain,]
cols <- c("ndvi", "first", "second", "third","DMY_kg_ha")
newdata[cols] <- lapply(newdata[cols], factor)  ## as.factor() could also be used
set.seed(32343)
modelFit<-train(DMY_kg_ha~first+second+third+treatment, data=training, method='glm',na.rm = na.omit)
modelFit

创建modelfit后,我想在R中使用'vif'来找出哪些变量是重要的。

【问题讨论】:

    标签: r nan training-data


    【解决方案1】:

    试试这个

    # load library
    library(caret)
    
    # set seed value
    set.seed(123)
    
    # remove NA's in data
    newdata = na.omit(newdata)
    
    # split data set
    inTrain = createDataPartition(newdata$ndvi, p = 0.7, list = FALSE)
    training = newdata[ inTrain,]
    testing = newdata[-inTrain,]
    
    # convert columns to factors
    cols <- c("ndvi", "first", "second", "third","DMY_kg_ha")
    newdata[cols] <- lapply(newdata[cols], factor)  ## as.factor() could also be used
    
    # reset seed value
    set.seed(32343)
    
    # train model
    modelFit<-train(DMY_kg_ha~first+second+third+treatment, data=training, method='glm',na.rm = na.omit)
    
    # view model
    modelFit
    

    【讨论】:

    • 非常感谢,但我仍然遇到“某些课程只有一条记录”的问题,我还无法训练模型。
    • 在这种情况下,使用 mice 包来估算 NA。该文档应该可以帮助您了解如何使用github.com/nagdevAmruthnath/Predictive-Maintenance/blob/master/…
    • 谢谢@Not_Dave。希望这将是我来解决这个问题。
    猜你喜欢
    • 2015-12-27
    • 1970-01-01
    • 2013-12-16
    • 2017-07-07
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 2023-03-26
    相关资源
    最近更新 更多