我正在开展一个项目,比较因果发现工具箱(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 ...
我也遇到了类似的问题,这是因为R包“ccdrAlgorithm”和“sparsebn”已被弃用,这意味着不再支持CCDr算法。