- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 glmnet 在包含约 200 个预测变量和 100 个样本的训练集上构建了一个预测模型,用于解决二项式回归/分类问题。
我选择了给出最大 AUC 的最佳模型(16 个预测变量)。我有一个独立的测试集,仅包含那些从训练集中进入最终模型的变量(16 个预测变量)。
是否有任何方法可以使用基于训练集中的最佳模型的 Predict.glmnet 和新的测试集,该测试集仅包含那些从训练集中进入最终模型的变量的数据?
最佳答案
glmnet
要求验证/测试集中训练数据集中的变量数量/名称完全相同。例如:
library(caret)
library(glmnet)
df <- ... # a dataframe with 200 variables, some of which you want to predict on
# & some of which you don't care about.
# Variable 13 ('Response.Variable') is the dependent variable.
# Variables 1-12 & 14-113 are the predictor variables
# All training/testing & validation datasets are derived from this single df.
# Split dataframe into training & testing sets
inTrain <- createDataPartition(df$Response.Variable, p = .75, list = FALSE)
Train <- df[ inTrain, ] # Training dataset for all model development
Test <- df[ -inTrain, ] # Final sample for model validation
# Run logistic regression , using only specified predictor variables
logCV <- cv.glmnet(x = data.matrix(Train[, c(1:12,14:113)]), y = Train[,13],
family = 'binomial', type.measure = 'auc')
# Test model over final test set, using specified predictor variables
# Create field in dataset that contains predicted values
Test$prob <- predict(logCV,type="response", newx = data.matrix(Test[,
c(1:12,14:113) ]), s = 'lambda.min')
对于一组全新的数据,您可以使用以下方法的某些变体将新的 df 限制为必要的变量:
new.df <- ... # new df w/ 1,000 variables, which include all predictor variables used
# in developing the model
# Create object with requisite predictor variable names that we specified in the model
predictvars <- c('PredictorVar1', 'PredictorVar2', 'PredictorVar3',
... 'PredictorVarK')
new.df$prob <- predict(logCV,type="response", newx = data.matrix(new.df[names(new.df)
%in% predictvars ]), s = 'lambda.min')
# the above method limits the new df of 1,000 variables to
# whatever the requisite variable names or indices go into the
# model.
此外,glmnet
仅处理矩阵。这可能就是您在问题评论中发布的错误的原因。一些用户(包括我自己)发现 as.matrix()
不能解决问题; data.matrix()
似乎可以工作(这就是为什么它出现在上面的代码中)。此问题已在 SO 上的一两个线程中得到解决。
我假设要预测的新数据集中的所有变量也需要采用与用于模型开发的数据集中相同的格式。我通常从同一来源提取所有数据,因此我没有遇到 glmnet
在格式不同的情况下会执行的操作。
关于r - 我可以对具有不同数量的预测变量的测试数据进行 Predict.glmnet 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18420586/
这里有没有人在使用Google Prediction API?为了什么?它“起作用”了吗? 最佳答案 如果您正在寻找实际案例,请查看此案例automatically assigns priority
无论如何,学习R ..: 在简单的x和y回归中,我输入: predict(data1.lm, interval="prediction") 和 predict(data1.lm, interval="
我创建并调整了多个模型,但在尝试预测它们时遇到了问题。我首先按如下方式运行代码来调整 LDA 模型。 library(MASS) library(caret) library(randomForest
问题 我在 R 中训练了一个线性回归来预测 this.target来自 city , 数据框中的变量 data .这个训练是在数据的一个子集上完成的,它由 train.index 指定。 . mode
我正在检查 tf-serving 示例,发现 inception_client.py mnist_client.py 时使用 result = Stub.Predict(request, 10.0)使
我已在 Google ML Engine 中上传了该模型的一个版本,其中包含 saved_model.pb 和一个变量文件夹。当我尝试执行命令时: gcloud ml-engine local pre
请先在我们的 GitHub 存储库中搜索类似问题。如果您找不到类似的示例,您可以使用以下模板: 系统(请填写以下信息): - 操作系统:Ubuntu 18.04 - Python版本:3.6.7 -
我正在研究一个简单的 LL(1) 解析器生成器,我遇到了给定某些输入语法的 PREDICT/PREDICT 冲突问题。例如,给定如下输入语法: E → E + E | P P → 1 我可以
我正在对具有多个预测变量的线性模型的预测值求和,如下例所示,并希望计算该总和的组合方差、标准误差和可能的置信区间。 lm.tree <- lm(Volume ~ poly(Girth,2), data
我是 R 和统计学的新手。所以这个问题可能有点愚蠢,但我想知道 R 中的 predict() 和 predict.lm() 之间是否有任何区别?我认为它们是相同的,但如果它们是相同的,为什么会有两个不
我尝试了针对this question而发布的答案,但是错误没有改变。我试图以相同的方式预处理训练集和测试集。它们来自两个不同的文件,我不确定我的老师是否会把我混合在一起,所以在拆分它们之前进行预处理
使用随机森林包:- #install.packages("randomForest") library(randomForest) 我使用在线代码在我的系统上运行随机森林。我得到了一个具有混淆矩阵和准
我有一个模型 (fit),基于上个月之前的历史信息。现在我想使用我的模型来预测当月的情况。当我尝试调用以下代码时: predicted fit$modelInfo$label [1]“随机森林” 因此
我正在尝试找出应用于列表的操作。我有列表/数组名称预测并执行以下指令集。 predictions[predictions >> a = np.array([1,2,3,4,5]) #define ar
此 R 代码引发警告 # Fit regression model to each cluster y fit$rank 检查 另一种方法是拥有比可用变量更多的参数: fit2 <- lm(y ~
我不是 R 专家。我正在尝试计算多项式模型生成的偏差: f calc.bias(f, polydeg, x))。我使用的整个代码: library(PolynomF) f <- function(x)
谁能帮我解决我的问题?我似乎无法从互联网上得到任何答案。我一直在寻找一整天。所以这是我的问题。我正在使用 opencv4android 2.4.10 和 Android Studio 作为我的 IDE
我可以使用哪种方法来根据姓氏来预测某人的国籍? 我有大量的文字和作者姓氏。我想确定哪些语言是由拉丁语使用者撰写的,哪些文本是由以英语为母语的使用者撰写的,以便研究一组中的某些写作风格模式是否与另一组中
我很好奇克服“冷启动”问题的方法/途径是什么,当新用户或项目进入系统时,由于缺乏有关该新实体的信息,因此进行推荐是一个问题。 我可以考虑做一些基于预测的推荐(例如性别、国籍等)。 最佳答案 您可以冷启
我正在使用零膨胀负二项式模型(包:pscl)对电影通过联系网络(基于电话数据)的传播进行建模 m1 我的变量是: 因变量: 扩散链的长度(计数 [0,36]) 自变量: 电影特征(虚拟变量和连续变量
我是一名优秀的程序员,十分优秀!