CCDr 算法执行错误 - 因果发现工具箱

问题描述 投票:0回答:1

我正在开展一个项目,比较因果发现工具箱(CDT)中的各种因果发现算法。我遇到了 CCDr 算法错误。

所有三种数据类型(混合、连续和离散)都不起作用。我还更改了临时目录,这让我可以清楚地看到临时文件夹/文件在处理时创建,然后立即删除。所以,我不认为这是访问/权限问题。

版本: CDT 包 - 0.6.0

Python - 3.11.3

Pytorch - 2.0.1

没有可用的 GPU。

您将需要以下内容 ->

数据文件: data.csv - 混合数据类型 https://github.com/FenTechSolutions/CausalDiscoveryToolbox/files/11731039/data.csv

data1.csv - 连续数据类型 https://github.com/FenTechSolutions/CausalDiscoveryToolbox/files/11731040/data1.csv

data2.csv - 离散数据类型 https://github.com/FenTechSolutions/CausalDiscoveryToolbox/files/11731041/data2.csv

以下Python脚本:

import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt
from cdt.causality.graph import CCDr
# from cdt.metrics import precision_recall, SID, SHD

# Load data
file = 'data1.csv'
data = pd.read_csv(file)

# Create and visualize CDT graph
model = CCDr()
prediction = model.predict(data)

pos = nx.spring_layout(prediction)
nx.draw_networkx(prediction, pos, with_labels=True, node_size=300)
plt.show()

错误: R Python 错误输出 [Errno 2] 没有这样的文件或目录:

'/用户/oriana/CDT/CDT_Algorithms/check/cdt_ccdr_f8b6bdf0-3c90-4f35-b860-8abe44173994/result.csv' 回溯(最近一次调用最后一次):

文件“/Users/oriana/CDT/CDT_Algorithms/check/CCDr.py”,第 27 行,位于

预测 = model.predict(data)

^^^^^^^^^^^^^^^^^^^^^

文件“/usr/local/lib/python3.11/site-packages/cdt/causality/graph/model.py”,第 63 行,在预测中 返回 self.create_graph_from_data(df_data, **kwargs)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

文件“/usr/local/lib/python3.11/site-packages/cdt/causality/graph/CCDr.py”,第 121 行,在 create_graph_from_data 中 结果= self._run_ccdr(数据,详细= self.verbose)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

文件“/usr/local/lib/python3.11/site-packages/cdt/causality/graph/CCDr.py”,第 142 行,在 _run_ccdr 中 提高e 文件“/usr/local/lib/python3.11/site-packages/cdt/causality/graph/CCDr.py”,第 137 行,在 _run_ccdr 中 ccdr_result = launch_R_script(Path("{}/R_templates/CCDr.R".format(os.path.dirname(os.path.realpath(file)))),

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

文件“/usr/local/lib/python3.11/site-packages/cdt/utils/R.py”,第 221 行,在 launch_R_script 中 引发运行时错误(“RProcessError R 处理错误输出 ----------------------- " + str(err, "ISO-8859-1")) 来自无

运行时错误:RProcessError

R 过程错误输出

加载所需包:sparsbnUtils

加载所需包:ccdrAlgorithm

加载所需包:discretecdAlgorithm

sparsebn v0.1,版权所有 (c) 2016-2020 布莱恩·阿拉加姆,芝加哥大学 顾家英,加州大学洛杉矶分校 张大成,加州大学洛杉矶分校 周清,加州大学洛杉矶分校 飞芙

请引用我们的工作!输入 cite("sparsebn") 了解详细信息。 ---> 错误?请在 https://github.com/itsrainingdata/sparsebn/issues 报告任何错误。

附上包装:

以下对象被 â 屏蔽:

select

未指定干预措施清单:假设数据纯粹是观察性的。 权重误差 < -1 || weights > 1 : 'length = 324' 强制转换为 '逻辑(1)' 调用:estimate.dag ... -> ccdr_call -> ccdr_gridR -> ccdr_singleR 执行停止

algorithm toolbox discovery causality
1个回答
0
投票

我也遇到了类似的问题,这是因为R包“ccdrAlgorithm”和“sparsebn”已被弃用,这意味着不再支持CCDr算法。

© www.soinside.com 2019 - 2024. All rights reserved.