关联可视化

规则较多,仍然使用数据表查看,这无疑是一种糟糕的策略。这时关联规则可视化就显得非常重要。在得到关联规则后,如何更加高效地查看关联规则之间的内容和关系?散点图和网络图等可视化方法无疑是分析规则的利器。

#找到关联规则,通过置信阈值发现新规则
rule2=association_rules(df_fre,metric="confidence",min_threshold=0.7)
rule2["antelen"]=rule2.antecedents.apply(lambda x:len(x))
rule2=rule2[(rule2.antelen==1)&(rule2.lift>1)]
print(rule2["support"])

在这里插入图片描述
1.散点图
针对关联每一条规则都有置信度和支持度这两个特征,可以使用散点图来分析它们之间的关系和取值范围

##绘制支持度和置信度的散点图
rule2.plot(kind="scatter",x="support",c="r",y="confidence",s=40,figsize=(8,5))
plt.grid("on")
plt.xlabel("支持度",fontproperties=fonts,size=12)
plt.ylabel("置信度",fontproperties=fonts,size=12)
plt.title("38个规则散点图",fontproperties=fonts)
plt.show()

2.关系网络图
针对一个个规则,如何和网络图联系起来?规则的前项指向后继的连线无疑是规则的一种很好的表达方式,并且根据规则的支持度大小,可以使用
不用类型的连线来区别。带方向的关系网络图是表示规则的最好方式。接下来是使用关系网络图绘制得到的38条规则。

#将部分关联规则使用网络图进行可视化
import networkx as nx
plt.figure(figsize=(12,12))
##生成网络图
G=nx.DiGraph()
#为图像添加边
print(rule2)
for ii in rule2.index:
    G.add_edge(rule2.antecedents[ii],rule2.consequents[ii],weight=rule2.support[ii])
#定义三种边;
elarge=[(u,v)for(u,v,d)in G.edges(data=True)if d['weight']>0.6]
emidle=[(u,v)for(u,v,d)in G.edges(data=True)if(d['weight']<=0.6)&(d['weight']>=0.45)]
esmall=[(u,v)for(u,v,d)in G.edges(data=True)if d['weight']<=0.45]
#图的布局方式
pos=nx.circular_layout(G)
#根据规则的置信度设置节点的大小
nx.draw_networkx_nodes(G, pos,alpha=0.4)
#设置边的形式
nx.draw_networkx_edges(G,pos,edgelist=elarge,width=2,alpha=0.6,edge_color='r')
nx.draw_networkx_edges(G,pos,edgelist=emidle,width=2,alpha=0.6,edge_color='g',style='dashdot')
nx.draw_networkx_edges(G,pos,edgelist=esmall,width=2,alpha=0.6,edge_color='b',style='dashed')
#为节点添加标签
nx.draw_networkx_labels(G,pos,font_size=10)
plt.axis('off')
plt.title('38个规则使用支持度连接',fontproperties=fonts)
plt.show()

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ECharts 是一款由百度开发的、基于 JavaScript 的开源数据可视化库,它提供了丰富的图表类型和高度的可定制性,以帮助开发者轻松创建交互性强、美观且响应迅速的数据可视化界面。ECharts 支持在各种现代浏览器(包括移动设备上的浏览器)以及部分旧版浏览器(如 IE8/9/10/11)中运行,其底层依赖轻量级矢量图形库 ZRender,确保了图表渲染的高效性和跨平台兼容性。 以下是一些关于使用 ECharts 进行数据可视化的关键特性、图表类型和基本使用步骤: ### 关键特性 1. **开源免费**:ECharts 是开源软件,可以免费用于个人和商业项目,无需支付任何费用。 2. **广泛兼容**:支持多种浏览器环境,包括但不限于 Chrome、Firefox、Safari 和 Internet Explorer 系列,保证在不同设备和操作系统上的良好表现。 3. **丰富图表类型**:包括但不限于折线图、柱状图、散点图、饼图、K线图、盒形图、地图、热力图、线图、关系图、treemap、旭日图、平行坐标、漏斗图、仪表盘等,以及三维可视化组件(通过 ECharts GL 扩展)。 4. **交互性强**:图表支持鼠标悬停提示、数据区域缩放、图表联动、图表堆叠、数据过滤、图例开关等多种交互功能,提升用户对数据的探索和理解能力。 5. **个性化定制**:提供详细的配置选项,允许用户自定义图表的颜色、字体、网格线、图例、tooltip、轴标签、数据标签、动画效果等,以满足特定设计需求和品牌风格。 6. **数据更新动态渲染**:能够实时接收新数据并动态更新图表,适用于数据流或实时监控场景。 7. **扩展性**:除了核心库外,有 ECharts GL 用于三维和大规模地理数据可视化,以及周边生态工具(如 ECharts-GL、ZRender)增强其功能和适用范围。 ### 图表类型 ECharts 提供的图表类型涵盖了数据分析和展示的常见需求,包括: - **基础图表**:折线图、柱状图、散点图、饼图、K线图 - **统计图表**:盒形图 - **地理图表**:地图、热力图、线图 - **关系图表**:关系图、treemap、旭日图 - **多维数据可视化**:平行坐标 - **BI图表**:漏斗图、仪表盘 此外,ECharts 支持图表间的混搭,即在一个图表容器内同时展现多种图表类型,以对比或关联不同数据维度。 ### 使用步骤 使用 ECharts 进行数据可视化的一般步骤如下: #### 1. 引入 ECharts 库 在 HTML 文件中通过 `<script>` 标签引入 ECharts 的核心文件: ```html <script src="https://cdn.jsdelivr.net/npm/echarts@版本号/dist/echarts.min.js"></script> ``` 确保替换 `版本号` 为所需的 ECharts 版本。 #### 2. 准备 DOM 容器 在页面上创建一个用于承
ECharts 是一款由百度开发的、基于 JavaScript 的开源数据可视化库,它提供了丰富的图表类型和高度的可定制性,以帮助开发者轻松创建交互性强、美观且响应迅速的数据可视化界面。ECharts 支持在各种现代浏览器(包括移动设备上的浏览器)以及部分旧版浏览器(如 IE8/9/10/11)中运行,其底层依赖轻量级矢量图形库 ZRender,确保了图表渲染的高效性和跨平台兼容性。 以下是一些关于使用 ECharts 进行数据可视化的关键特性、图表类型和基本使用步骤: ### 关键特性 1. **开源免费**:ECharts 是开源软件,可以免费用于个人和商业项目,无需支付任何费用。 2. **广泛兼容**:支持多种浏览器环境,包括但不限于 Chrome、Firefox、Safari 和 Internet Explorer 系列,保证在不同设备和操作系统上的良好表现。 3. **丰富图表类型**:包括但不限于折线图、柱状图、散点图、饼图、K线图、盒形图、地图、热力图、线图、关系图、treemap、旭日图、平行坐标、漏斗图、仪表盘等,以及三维可视化组件(通过 ECharts GL 扩展)。 4. **交互性强**:图表支持鼠标悬停提示、数据区域缩放、图表联动、图表堆叠、数据过滤、图例开关等多种交互功能,提升用户对数据的探索和理解能力。 5. **个性化定制**:提供详细的配置选项,允许用户自定义图表的颜色、字体、网格线、图例、tooltip、轴标签、数据标签、动画效果等,以满足特定设计需求和品牌风格。 6. **数据更新动态渲染**:能够实时接收新数据并动态更新图表,适用于数据流或实时监控场景。 7. **扩展性**:除了核心库外,有 ECharts GL 用于三维和大规模地理数据可视化,以及周边生态工具(如 ECharts-GL、ZRender)增强其功能和适用范围。 ### 图表类型 ECharts 提供的图表类型涵盖了数据分析和展示的常见需求,包括: - **基础图表**:折线图、柱状图、散点图、饼图、K线图 - **统计图表**:盒形图 - **地理图表**:地图、热力图、线图 - **关系图表**:关系图、treemap、旭日图 - **多维数据可视化**:平行坐标 - **BI图表**:漏斗图、仪表盘 此外,ECharts 支持图表间的混搭,即在一个图表容器内同时展现多种图表类型,以对比或关联不同数据维度。 ### 使用步骤 使用 ECharts 进行数据可视化的一般步骤如下: #### 1. 引入 ECharts 库 在 HTML 文件中通过 `<script>` 标签引入 ECharts 的核心文件: ```html <script src="https://cdn.jsdelivr.net/npm/echarts@版本号/dist/echarts.min.js"></script> ``` 确保替换 `版本号` 为所需的 ECharts 版本。 #### 2. 准备 DOM 容器 在页面上创建一个用于承
关联规则可视化是一种将关联规则以图形化方式呈现的方法,用于直观地理解和分析数据中的关联关系。在 Python 中,可以使用一些库来实现关联规则可视化,如 matplotlib、seaborn 和 networkx。 首先,你需要计算关联规则。可以使用一些关联规则挖掘算法,如 Apriori 算法或 FP-growth 算法,来从数据集中提取关联规则。这些算法通常在一些数据挖掘库中实现,如 mlxtend 或 Orange。 下面是一个使用 mlxtend 和 matplotlib 进行关联规则可视化的例子: ```python from mlxtend.frequent_patterns import apriori from mlxtend.frequent_patterns import association_rules import matplotlib.pyplot as plt # 假设你已经有一个包含交易数据的 DataFrame,每行代表一个交易,每列代表一个商品 # 这里使用 mlxtend 提供的示例数据 from mlxtend.preprocessing import TransactionEncoder from mlxtend.demo import load_dataset data = load_dataset('Groceries') te = TransactionEncoder() te_ary = te.fit_transform(data, sparse=True) sparse_df = pd.SparseDataFrame(te_ary, columns=te.columns_, default_fill_value=False) # 使用 Apriori 算法计算频繁项集 frequent_itemsets = apriori(sparse_df, min_support=0.01, use_colnames=True) # 根据频繁项集计算关联规则 rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1) # 可视化关联规则 fig, ax = plt.subplots() ax.scatter(rules['support'], rules['confidence'], alpha=0.5) ax.set_xlabel('Support') ax.set_ylabel('Confidence') plt.title('Association Rules') plt.show() ``` 这段代码首先使用 mlxtend 库计算频繁项集,然后根据频繁项集计算关联规则。最后,使用 matplotlib 库绘制散点图来可视化关联规则的支持度和置信度。 你可以根据自己的数据和需求进行适当的调整和修改。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值