<aside> <img src="/icons/condense_yellow.svg" alt="/icons/condense_yellow.svg" width="40px" /> Python | MATLAB | 概率 | 数学 | 贝叶斯 | 算法 | 分类 | 多类 | 多维 | 分层 | 图形
</aside>
🎯概率论和图论数学形式和图结构 | 🎯数学形式、图结构和代码验证贝叶斯分类器算法:🖊多类型:朴素贝叶斯,求和朴素贝叶斯、高斯朴素贝叶斯、树增强贝叶斯、贝叶斯网络增强贝叶斯和半朴素贝叶斯 | 🖊多维型:贝叶斯链 | 🖊分层型:贝叶斯网络和链式分类器复合式 | 🖊数学形式、图结构和代码验证贝叶斯分类器算法 | 🎯数学形式、图结构和代码验证隐马尔可夫模型算法 | 🎯数学形式、图结构和代码验证马尔可夫随机场模型算法 | 🎯数学形式、图结构和代码验证贝叶斯网络算法:🖊学习树和有向无环图:Chow-Liu 算法、PC 算法 | 🎯数学形式、图结构和代码验证马尔可夫决策过程算法
🎯算法实现: 🖊结构学习算法:爬坡搜索、树搜索、最大-最小爬坡,穷举搜索 | 🖊参数学习算法:最大似然、贝叶斯估计器、期望最大化 | 🖊概率推理算法:变量消除、置信传播、最大乘积线性规划、取样方式 | 🖊因果推理算法:执行操作、调整套
🎯GPU多线程并行概率模型 | 🎯激光通信和-积消息传递算法模拟调制
📜Python | R | MATLAB群体消息和遗传病筛选多元统计模型
pie title 语言分比
"Python":90
"C++":10
"MATLAB":30
pie title 内容分比
"数学":90
"图形模型":80
"图论":30
"概率":60
"算法":50
PC 算法利用对撞机和有向无环图的原理来挖掘潜在的前后关系,从而快速消除数据集中的不相关链接。然而,由此产生的因果图通常是完整的部分有向无环图,其特点是边缘方向不确定,而不是确定的有向无环图。
在我的方法中,我使用 PC 算法生成一个图,然后利用 NetworkX 的 is_directed
和 is_directed_acyclic_graph
函数来确定该图是否符合有向无环图的条件。通常情况下,我们不会直接获得有向无环图。为了解决不确定的边,我们可以依靠人工干预或先验知识,尽管这需要额外的努力。
探索从酒类数据集开始,包含 178 个条目和 15 个不同的特征,如酒精、苹果酸和类黄酮。
import utils, pc_algorithm, random, copy, statistics
import pandas as pd
import numpy as np
import networkx as nx
from itertools import product
from pgmpy.estimators import BicScore
data = utils.get_data_from_ucirepo(109)
data.info()
labels = data.columns.tolist()
data = np.array(data)
我使用自定义 PC 算法生成完整的部分有向无环图。
graph, sepetated_set = pc_algorithm.pc_get_graph(data)
cpdag_graph = pc_algorithm.pc_apply_rules(graph, sepetated_set)
然后使用 NetworkX 的有向图将完整的部分有向无环图转换为网络图。在此表示中,方向未确定的边标记为红色,突出显示图从完整的部分有向无环图到非有向无环图状态的转变。