r - cv.glmnet 中的岭、套索回归错误和 randomForest 中的错误
问题描述
我正在尝试对 csv 文件的总重置成本运行 ridge、lasso 回归和 randomForest 模型。
这就是我所做的如下:
data$TOTAL_REPLACEMENT_VALUE=log(data$TOTAL_REPLACEMENT_VALUE)
n_total=nrow(data)
n_train=round(n_total*0.7)
training_data=data[1:n_train,]
test_data=data[n_train+1:n_total,]
X_train_cost_model=model.matrix(TOTAL_REPLACEMENT_VALUE~TYPE,data=training_data)
X_test_cost_model=model.matrix(TOTAL_REPLACEMENT_VALUE~TYPE,data=test_data)
Y_train_cost=training_data[,"TOTAL_REPLACEMENT_VALUE"]
Y_test_cost=test_data[,"TOTAL_REPLACEMENT_VALUE"]
我继续通过这个运行岭和套索回归:
install.packages("glmnet",dependencies = TRUE)
library(glmnet)
ridge_replacement_cost_model=cv.glmnet(X_train_cost_model,Y_train_cost,alpha=0,type.measure = "mse")
ridge_pred_replacement_cost=predict(ridge_replacement_cost_model,newx = X_test_cost_model,exact=TRUE,s="lambda.min")
lasso_replacement_cost_model=cv.glmnet(X_train_cost_model,Y_train_cost,alpha=1,type.measure = "mse")
lasso_pred_replacement_cost=predict(lasso_replacement_cost_model,newx = X_test_cost_model,exact=TRUE,s="lambda.min")
install.packages("randomForest")
library(randomForest)
rf_total_replacement_cost_model=randomForest(TOTAL_REPLACEMENT_VALUE~TYPE, data=training_data,importance=TRUE)
rf_pred_replacement_cost=predict(rf_total_replacement_cost_model,test_data,type="class")
但是,我遇到了这些错误
Error in glmnet(x, y, weights = weights, offset = offset, lambda = lambda, : number of observations in y (590) not equal to the number of rows of x (589)
Error in na.fail.default(list(TOTAL_REPLACEMENT_VALUE = c(18.126980599175, :
missing values in object
第一个错误发生在运行 ridge 和 lasso 回归之后,而第二个错误发生在运行 randomForest 模型之后。我知道有一个关于类似问题的线程,但我不明白哪里出了问题。非常感谢任何帮助。
解决方案
推荐阅读
- imagej - 测量多个 ROI 的水平长度
- javascript - 与路由器一起使用时反应面包屑抛出错误
- apache-spark - 使用 pyspark 如何拒绝来自 csv 文件的错误(格式错误)记录并将这些拒绝的记录保存在新文件中
- angular - Firebase / Angular 7 重写规则
- c# - 以编程方式添加的 LinkLabel 不可见
- c# - 无法在 C# 中设置授权标头
- gitlab - 在 GitLab CI 中仅结合计划和分支
- java - Eclipse RCP 应用程序 - 应用程序在自动最大化到窗口大小之前以一个小窗口启动
- c# - 在 Parallel.ForEach 中使用锁定的正确方法是什么?
- r - 如何删除R数据框中的部分列标题