- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
希望我来对了论坛。我是一名生态学家,通过 dismo 包使用 R 中的 maxent(版本 3.3.3,http://www.cs.princeton.edu/~schapire/maxent/)函数制裁剪种分布模型。我使用了参数“replicates = 5”,它告诉 maxent 进行 5 折交叉验证。当直接从 maxent.jar 文件(maxent 软件)运行 maxent 时,将生成一个带有统计信息的 html 文件,包括预测图。在 R 中,也制作了一个 html 文件,但之后必须使用 r 中 dismo 包中的函数“predict”提取预测图。当我这样做时,由于 5 折交叉验证设置,我得到 5 张 map 。但是,(这就是问题所在)我只想要一个输出图,一个“摘要”预测图。我认为这是可能的,尽管我不知道 maxent 是如何计算的。 maxent 教程(见上面的链接)说:
“...您可能希望通过关闭“写入输出网格”选项来避免占用磁盘空间,这将抑制复制运行的输出网格的写入,以便您只获得摘要统计网格(平均、标准错误等)。”
可以在这个论坛中找到可以放入 R 的参数列表 https://groups.google.com/forum/#!topic/maxent/yRBlvZ1_9rQ .
我曾尝试在 maxent 函数本身和预测函数中使用参数“outputgrids=FALSE”,但它不起作用。我仍然得到 5 张 map ,即使我在 R 中没有收到任何错误。
所以我的问题是:如何获得一个“摘要”预测图而不是交叉验证产生的五个预测图?
我希望有人能帮我解决这个问题,我真的被困住了,在互联网上的任何地方都找不到任何答案。甚至没有关于这个的讨论。希望我的问题很清楚。这是我使用的 R 脚本:
model1<-maxent(x=predvars, p=presence_points, a=target_group_absence, path="//home//...//model1", args=c("replicates=5", "outputgrids=FALSE "))
model1map<-predict(model1, predvars, filename="//home//...//model1map.tif", outputgrids=FALSE)
最好的问候,克里斯汀
最佳答案
很抱歉成为坏消息的传递者,但基于 source code , 看起来 Dismo 的预测功能没有生成摘要图的能力。
那些关心的人的细节:当您调用 maxent
并将 replicates
设置为大于 1 时, maxent
函数返回一个 MaxEntReplicates
对象,而不是一个普通的 MaxEnt
对象。当 predict
收到一个 MaxEntReplicates
对象时,它只是遍历它包含的所有模型并分别调用它们的 predict
。
那么,接下来呢?幸运的是,一切都没有丢失! Dismo 没有此功能的原因是对于大多数类型的模型构建,实际上没有一种有效的方法来平均交叉验证模型中的参数。我不想说 MaxEnt 确实如此,但我怀疑是这样。因此,交叉验证通常更多地用作检查模型构建方法是否适用于数据的方法,而不是直接构建模型的方法(有关这一点的进一步讨论,请参见 this question)。在通过交叉验证验证使用给定程序构建的模型对于您正在建模的现象似乎是准确的之后,通常会使用您的所有数据构建最终模型。从理论上讲,这个新模型应该只比在您的数据子集上训练的模型更好。
所以基本上,假设您的交叉验证模型看起来合理,您可以再次运行 MaxEnt,只需要一个副本。您的最终结果将是基于交叉验证的模型精度估计和基于第二次运行的 map ,并将所有数据集中在一起。根据您的问题具体是什么,可能还有您想要使用的来自交叉验证的其他有用的汇总统计信息,但这些都是您已经在 html 输出中看到的内容。
关于R - 在 maxent 模型中使用 5 折交叉验证时,如何获得一个 "summary"预测图而不是 5?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28885987/
更新 我上传了一个虚拟数据集,链接 here . df.head() : 它有 4类总共和df.object.value_counts() : human 23 car 13 cat
我正在尝试在 python 中执行分层 K 折验证,并且我在文档中阅读了以下内容: 我不太清楚这是什么意思。有人可以向我解释一下 cross_val_score 到底什么时候使用 Stratified
我有一个表单数据框,df: cat_var_1 cat_var_2 num_var_1 0 Orange Monkey 34 1 Bana
假设我有一个包含两列的数据集。我已经在我的数据集上建立了线性回归模型,现在我的问题是如何检查我的模型的准确性。 我发现我的问题的答案是在我的数据集上应用 K-fold。我知道 K-fold 是如何工作
我有一个数据集,为简单起见,假设它有 1000 个样本(每个样本都是一个向量)。 我想拆分我的数据以进行交叉验证、训练和测试,不是随机1,例如,如果我想要 4 折交叉验证,我应该得到: fold1:
当您在 Twitter 上转推或收藏时,包含该推文的 div 的一 Angular 会出现一个带图标的彩色小三 Angular 形。我已经从 Twitter 复制了 CSS 和 sprite 表,并试
我是一名优秀的程序员,十分优秀!