图形超几何网络

hnet的Python项目详细描述


图形超几何网络

PythonPyPI VersionLicenseGithub ForksGitHub Open IssuesProject StatusDownloadsDownloadsSphinxarXivOpen In Colab

Star it if you like it!

HNet代表图形化超几何网络,它是一种通过统计推断来检验变量间关联的显著性的方法。 其目的是确定一个具有重要关联的网络,可以揭示变量之间的复杂关系。 输入数据集的范围从一般的数据帧到带有列表、缺失值和枚举的嵌套数据结构。在

真实世界的数据通常包含连续值和离散值的测量值。 尽管有许多库,但混合数据类型的数据集需要密集的预处理步骤, 如何描述变量之间的关系仍然是一个挑战。 数据理解阶段对数据挖掘过程至关重要,但是,在没有对数据进行任何假设的情况下, 搜索空间在变量数量上是超指数的。因此,彻底的数据理解阶段不是常见的做法。在

方法

我们提出了图形超几何网络(HNet),这是一种使用统计推断测试变量间关联的显著性的方法。其目的是确定一个只使用重要关联的网络,以阐明变量之间的复杂关系。HNet处理原始的非结构化数据集,并输出由节点之间(部分)有向或无向边(即变量)组成的网络。为了评估HNet的准确性,我们使用已知的数据集和生成的具有已知基本真相的数据集。此外,还比较了HNet与贝叶斯关联学习的性能。在

结果

我们证明了HNet在节点链路检测方面表现出了很高的准确性和性能。在报警数据集的情况下,我们可以证明平均MCC得分为0.33+0.0002(P<;1x10-6),而贝叶斯关联学习的平均MCC得分为0.52+0.006(P<;1x10-11),随机分配边缘的MCC得分为0.004+0.0003(P=0.49)。在

结论

HNet克服了对原始非结构化数据集的处理,它允许分析混合数据类型,它很容易扩展变量的数量,并允许对检测到的关联进行详细检查。在

文档

方法概述

^{1}$ 在

安装

  • 从PyPI安装hnet(推荐)。Hnet与Python3.6+兼容,可在Linux、MacOS X和Windows上运行。 它是在Apache2.0许可下发布的。在
^{pr2}$
  • 泰坦尼克号数据集的简单示例
# Initialize hnet with default settingsfromhnetimporthnet# Load example datasetdf=hnet.import_example('titanic')# Print to screenprint(df)
#      PassengerId  Survived  Pclass  ...     Fare Cabin  Embarked
# 0              1         0       3  ...   7.2500   NaN         S
# 1              2         1       1  ...  71.2833   C85         C
# 2              3         1       3  ...   7.9250   NaN         S
# 3              4         1       1  ...  53.1000  C123         S
# 4              5         0       3  ...   8.0500   NaN         S
# ..           ...       ...     ...  ...      ...   ...       ...
# 886          887         0       2  ...  13.0000   NaN         S
# 887          888         1       1  ...  30.0000   B42         S
# 888          889         0       3  ...  23.4500   NaN         S
# 889          890         1       1  ...  30.0000  C148         C
# 890          891         0       3  ...   7.7500   NaN         Q

在泰坦尼克号数据集上进行关联学习。

fromhnetimporthnethn=hnet()results=hn.association_learning(df)# Plot static graphG_static=hn.plot()# Plot heatmapP_heatmap=hn.heatmap(cluster=True)# Plot dynamic graphhn.d3graph()# Plot dynamic graphhn.d3heatmap()

<;link rel=“导入”href=“https://erdogant.github.io/docs/d3graph/titanic_example/index.html“>;

总结结果。

网络会变成巨大的毛球,热图无法阅读。您可能希望查看类别之间的常规关联,而不是标签关联。 使用summary功能,结果将按类别汇总。在

# Importfromhnetimporthnet# Load example datasetdf=hnet.import_example('titanic')# Initializehn=hnet()# Association learningresults=hn.association_learning(df)# Plot heatmaphn.heatmap(summarize=True,cluster=True)hn.d3heatmap(summarize=True)# Plot static graphhn.plot(summarize=True)hn.d3graph(summarize=True,charge=1000)

功能重要性

# Plot feature importancehn.plot_feat_importance(marker_size=50)

性能

引文

如果这对你的研究有用,请在你的出版物中引用hnet。在

这是BibTeX条目:

@misc{taskesen2020hnet,
    title={HNet: Graphical Hypergeometric Networks},
    author={Erdogan Taskesen},
    year={2020},
    eprint={2005.04679},
    archivePrefix={arXiv},
    primaryClass={cs.LG}
}

维护人员

Erdogan Taskesen, github: [erdogant](https://github.com/erdogant)
Contributions are welcome.

Star it if you like it!

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException