【发布时间】:2023-02-11 14:44:42
【问题描述】:
我在 python 中使用 causalnex 从 python 中的数据集创建 DAG。
我得到了图表,节点是正确的,但边缘完全不对。我在具有四个随机自变量(请求者、风险、规模、开发人员)和一个依赖变量(持续时间)的数据框 df 中进行了尝试,生成的图形是这样的: DAG using CausalNex
我是否错误地使用了图书馆?为什么这个数字与真实的数据生成过程相距如此之远?贝叶斯网络模型能否胜过 causalnex?
我试过这段代码:
from causalnex.structure.notears import from_pandas
import matplotlib.pyplot as plt
import networkx as nx
sm = from_pandas(df)
sm.remove_edges_below_threshold(0.8)
nx.draw_shell(sm, with_labels=True, font_weight ="bold")
plt.show()
我期待这样的事情:Expected Output
【问题讨论】:
-
请将数据框数据添加到问题中。
-
要重现数据集: import dumpy as np import pandas as pd np.random.seed(42) fib_list = [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] data = {“请求者”:np.random.randint(1,4,100),“大小”:np.random.randint(1,4,100),“风险”:np.random.randint(1,4,100)} df = pd. DataFrame(data) df['Developer'] = np.random.choice(fib_list, df.shape[0]) df["Duration"] = (0.1*df["Requestor"] + 0.2*df["Size" ] + 0.2*df["风险"] + 0.5*df["开发人员"])
标签: python