问题标签 [maxent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
127 浏览

python - 使用 python 重新运行 maxent

我正在尝试创建一个脚本,为不同的输入重新运行 maxent。我有大约 1500 种需要单独处理。我的想法是为这个程序使用 python 循环。但我似乎无法找到正确的信息开始。现在我有 3 行简单的代码告诉 python 打开程序。

现在我想告诉 python 使用哪个输入。但是,我似乎找不到任何关于指定程序输入的函数的文档。

有没有人对如何进行下一步有任何想法?

- - - - - - - - - -编辑 - - - - - - - - - - - - - - - ------

现在我有以下代码:

这给了我maxent中的以下错误:

以及pyhton中的以下错误

我还尝试了 ' 周围的物种。这给了我以下错误:

我不知道为什么程序不理解这个论点。我还尝试使用 x 而不是 species 来确保库中不存在 species 一词。

0 投票
1 回答
106 浏览

r - Project MaxENT 将模型拟合到地理空间

类似的问题在这里得到了回答;但是,这个问题有点不同,我无法应用该解决方案。我已经使用 site-with-data 格式安装了 maxent。问题是我无法投影拟合模型。m1路径中的输出D:/maxent看起来不错。我怀疑这两个错误(如下)与 rJava 有关,但我不知道解决方案。请在下面查看我的代码:

这是光栅文件的属性

更新:我尝试在 m1 中使用单引号,但问题仍然存在。

0 投票
2 回答
486 浏览

date - 日期的循环变换

我想在机器学习模型中使用一年中的某一天。由于一年中的这一天不是连续的(2019 年的第 365 天之后是 2020 年的第 1 天),我想按照这个链接执行循环(正弦或余弦)变换。

但是,在每一年中,新的转换变量都没有唯一值;例如,同一年的两个值为 0.5,请参见下图。我需要能够在模型训练和预测中使用一年中的某一天。对于正弦变换中的 0.5 值,它可以在 31.01.2019 或 31.05.2019 上,然后使用 0.5 值可能会使模型混淆。

是否可以使模型在同一年内区分 0.5 的两个值?

我正在使用 Maxent 软件对物种的分布进行建模。物种数据在 20 年内每天都是连续的。我需要模型来捕获当天或季节的信号,而无需将它们中的任何一个明确用作分类变量。

谢谢

正弦变换 余弦变换

编辑1 基于以下furcifer的评论。但是,我发现增量建模方法对我的应用程序没有用处。解决了后续天数一致的问题;例如 30.12.2018、31.12.2018 和 01.01.2019。但这与从某个参考日(重量 = 1)开始计算天数没有什么不同。2019 年同一日期的价值远高于 2014 年,这在生态上没有意义。我希望从所使用的日常环境条件(解释变量)中捕捉到年际变化。我需要在模型中使用天的原因是为了捕捉迁徙物种分布的季节性趋势,而没有明确使用月份或季节作为分类变量。为了预测今天合适的栖息地,

0 投票
1 回答
137 浏览

polygon - 计算保护区多边形与预测的最大栖息地适宜性的重叠

我想计算与保护区多边形重叠的物种栖息地适宜性的百分比面积。我不太了解 R 语言,但这是我目前所掌握的。

这些是从最大预测得出的栖息地适宜性区域的属性:

保护区:

有人知道一种方法来计算与保护区多边形重叠的栖息地适宜性面积百分比吗?

抱歉,我真的不太了解如何处理这些数据。我希望我提供了所有相关信息。

我会很感激任何意见。

0 投票
0 回答
164 浏览

r - R: 运行 maxnet 函数时出现索引错误(maxnet 包)

我使用maxnet函数(maxnet 包)作为集成模型中的模型算法之一。有时,代码执行时不会出错。其他时候,它会给我您在下面看到的错误消息。我正在使用 Windows 10 Pro(R 版本 3.6.1,Rstudio 版本 1.2.5042)。

代码:

错误:

train是一个数据框,有 621 行(每个出现/不存在点一行)和 29 列(28 列包含变量和 1 列“物种”,表示物种的存在或不存在 (0/1))。

0 投票
2 回答
72 浏览

python - 如何根据文件名将一个文件夹中的多个文件分成不同的文件夹?

当前的文件组织如下所示:

Species_name1.asc
Species_name1.csv
Species_name1_Averages.csv
...
...
Species_name2.asc
Species_name2.csv
Species_name2_Averages.csv

我需要找出一个脚本,它可以使用名称(Species_name1、Species_name2...等)创建新目录,并且可以将文件从基本目录移动到适当的新目录中。

以上是我在基本目录中创建新目录时可以想到的一个示例。

我知道如果我要使用 python,我将不得不使用 os、shutil 和/或 glob 模块中的工具。但是,确切的脚本正在逃避我,我的文件仍然杂乱无章。如果您有任何建议可以帮助我完成这个小任务,我将不胜感激。

此目录中还有许多文件类型和后缀,但 (species_name?) 部分始终是一致的。

以下是预期的层次结构:

Species_name1
-- Species_name1.asc
-- Species_name1.csv
-- Species_name1_Averages.csv
Species_name2
-- Species_name2.asc
-- Species_name2.csv
-- Species_name2_Averages.csv

先感谢您!

0 投票
1 回答
150 浏览

r - R中的Maxent物种分布建模 - 找到与单个细胞/点相关的概率?

下午好,

我最近在 R 中为马达加斯加特有的爬行动物开发了一个 Maxent 物种分布模型,使用本地范围仅存在数据。该模型表现良好(由 AUC 判断)。

我现在将这个模型投影到佛罗里达州,在那里它没有找到合适的栖息地。然而,我的焦点分类群在佛罗里达已经很成熟了。我没有在模型中使用佛罗里达存在数据,因为我想检查模型是否会先验地预测殖民化事件;因此,我使用马达加斯加作为模型范围来训练/验证模型。

我想恢复佛罗里达州已知事件的量化概率值;目前,我总体上可以看到殖民地区域的预测概率很低,但我无法量化它们。我可以在模型输出(训练点)或使用“dismo”中的评估(验证点)中找到我已知的马达加斯加事件(因为它们已包含在模型中)的等效定量值。

有谁知道我可以用来为我的佛罗里达点查找这些值的方法/包/函数(目前仅存储为 .csv)。

如有需要,我可以分享模型的更多技术细节;它是 R 中相当标准的 Bioclim/Maxent/presence-only 数据,主要使用“dismo”。

0 投票
1 回答
72 浏览

nlp - OpenNLP doccat trainer 总是产生“1 个结果模式”

我正在评估将 OpenNLP 用作文档分类器。我有一个经过清理的训练语料库,包含大约 4k 个文件,大约 150 个类别。这些文档有许多共享的、大部分不相关的词——但其中许多词在 n-gram 中变得相关,所以我使用以下参数:

其中一些类别适用于几乎完全相同的文档(想想样板法律文档,文档实例之间可能只有名称和地址不同) - 并且与测试集中的文档基本相同。但是,无论我如何调整这些参数,我都无法摆脱“1 个结果模式”的结果。运行测试时,测试集中的每个文档都被标记为“A 类”。

通过从以前使用 BagOfWordsFeatureGenerator 到 NGramFeatureGenerator,以及从 maxent 到朴素贝叶斯,我确实设法在输出中产生了一个小的变化;在更改之前,测试集中的每个文档都被分配到“A 类”,但在更改之后,所有文档现在都被分配到“B 类”。但除此之外,我似乎根本无法移动表盘。

我试过摆弄迭代、截止、ngram 大小、使用 maxent 而不是贝叶斯等;但一切都无济于事。

我在互联网上找到的教程示例代码使用了更小的训练集和更少的迭代,并且能够执行至少一些基本的差异化。

通常在这种情况下——令人眼花缭乱地缺乏预期的行为——工程师忘记拨动一些简单的开关,或者对基本的理解有一些致命的缺乏。我非常有能力应对这两种失败。此外,我没有接受过数据科学培训,尽管我已经阅读了 O'Reilly 的几本关于该主题的书籍。所以问题可能是程序性的。训练集是否太小?迭代次数是否减少了一个数量级?不同的算法会更合适吗?令我感到非常惊讶的是,没有任何调整甚至将刻度盘从“1 结果”结果中稍微移开。

任何回应表示赞赏。

0 投票
1 回答
109 浏览

r - raster::stack 在栅格中返回 NA 值,尽管知道值

我正在创建 ASCII 文件以包含在R.

当我创建图层并查看栅格值时,我可以看到它们并且它们是正确的,例如:

然后当我堆叠三个栅格时,一切似乎都是正确的:

但是,当我getValues为栅格时,他们只显示 NA:

然后由于这个原因,当我尝试使用该vifstep功能时出现此错误:

我不知道如何解决这个问题或我做错了什么。

编辑

NA 值在文件中,尽管在创建层时设置为 0 值:

0 投票
1 回答
218 浏览

cross-validation - 在 Maxent 中具有更多折叠的 K 折叠交叉验证

嗨,我正在使用 Mac 版 Maxent 软件 3.4.0,我正在尝试了解有关 k-fold 交叉验证的问题。

基本上,我知道我的数据集被分成 k 个折叠,每个折叠或多或少都具有相同的大小。因此,如果我的数据集有 100 个观测值,则 10 折交叉验证会将数据集拆分为 10 个观测值的 10 折,Maxent 将训练 10 个模型,每个模型有 9 个折,第 10 个将对其进行测试。

我的问题是:我可以将我的数据集分成 10 多折(例如 50 折),但每折有 10 个观察值吗?在这种情况下,当然不会使用一次出现,而是使用它们在不同折叠中出现的次数。

我可以做到吗(没有命令行,我不知道如何使用它)?结果可能有意义吗?