Python 灰色关联度分析 与结果可视化
前言
1、Python 灰色关联度分析 采用一个示例,简单分析一下。
灰色关联度分析是 度量两条曲线的形态和走势是否相近
本文是在前文的基础上,进行结果可视化展示。
程序
- 读数据
import pandas as p
import numpy as np
from numpy import *
import matplotlib.pyplot as plt# 从硬盘读取数据进入内存
data = pd.read_excel('data.xlsx',usecols=[0,1,2,3])
data.head()
- 方法
# 无量纲化
def dimensionlessProcessing(df):newDataFrame = pd.DataFrame(index=df.index)columns = df.columns.tolist()for c in columns:d = df[c]MAX = d.max()MIN = d.min()MEAN = d.mean()newDataFrame[c] = ((d - MEAN) / (MAX - MIN)).tolist()return newDataFramedef GRA_ONE(gray, m=0):# 读取为df格式gray = dimensionlessProcessing(gray)# 标准化std = gray.iloc[:, m] # 为标准要素gray.drop(str(m),axis=1,inplace=True)ce = gray.iloc[:, 0:] # 为比较要素shape_n, shape_m = ce.shape[0], ce.shape[1] # 计算行列# 与标准要素比较,相减a = zeros([shape_m, shape_n])for i in range(shape_m):for j in range(shape_n):a[i, j] = abs(ce.iloc[j, i] - std[j])# 取出矩阵中最大值与最小值c, d = amax(a), amin(a)# 计算值result = zeros([shape_m, shape_n])for i in range(shape_m):for j in range(shape_n):result[i, j] = (d + 0.5 * c) / (a[i, j] + 0.5 * c)# 求均值,得到灰色关联值,并返回result_list = [mean(result[i, :]) for i in range(shape_m)]result_list.insert(m,1)return pd.DataFrame(result_list)def GRA(DataFrame):df = DataFrame.copy()list_columns = [str(s) for s in range(len(df.columns)) if s not in [None]]df_local = pd.DataFrame(columns=list_columns)df.columns=list_columnsfor i in range(len(df.columns)):df_local.iloc[:, i] = GRA_ONE(df, m=i)[0]return df_local
- 画图
# 灰色关联结果矩阵可视化
# 灰色关联结果矩阵可视化
import seaborn as snsdef ShowGRAHeatMap(DataFrame):colormap = plt.cm.RdBuylabels = DataFrame.columns.values.tolist()f, ax = plt.subplots(figsize=(14, 14))ax.set_title('GRA HeatMap')# 设置展示一半,如果不需要注释掉mask即可mask = np.zeros_like(DataFrame)mask[np.triu_indices_from(mask)] = Truewith sns.axes_style("white"):sns.heatmap(DataFrame,cmap="YlGnBu",annot=True,mask=mask,)plt.show()data_wine_gra = GRA(data)
ShowGRAHeatMap(data_wine_gra)
结果展示
- 全热力图
# 灰色关联结果矩阵可视化
# 灰色关联结果矩阵可视化
import seaborn as snsdef ShowGRAHeatMap(DataFrame):colormap = plt.cm.RdBuylabels = DataFrame.columns.values.tolist()f, ax = plt.subplots(figsize=(14, 14))ax.set_title('GRA HeatMap')# 设置展示一半,如果不需要注释掉mask即可
# mask = np.zeros_like(DataFrame)
# mask[np.triu_indices_from(mask)] = Truewith sns.axes_style("white"):sns.heatmap(DataFrame,cmap="YlGnBu",annot=True,
# mask=mask,)plt.show()data_wine_gra = GRA(wine)
ShowGRAHeatMap(data_wine_gra)
结果展示
参考代码来自
Python 实现 灰色关联分析 与结果可视化
Python 灰色关联度分析 与结果可视化相关推荐
- python灰色关联度分析代码_灰色关联分析法步骤 - osc_uwnmtz9n的个人空间 - OSCHINA - 中文开源技术交流社区...
https://wenku.baidu.com/view/dc356290af1ffc4fff47ac0d.html?rec_flag=default&sxts=1538121950212 利 ...
- Python 灰色关联度分析
前言 关联度:对于两个系统之间的因素,其随时间或不同对象而变化的关联性大小的量度,对于两个系统之间的因素,其随时间或不同对象而变化的关联性大小的量度. 灰色关联度分析(Grey Relation An ...
- python灰色关联度分析_灰色关联分析法 python
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 本文2290字,预计阅读需10分钟: 关联分析(association anal ...
- Python实现 灰色关联分析 与结果可视化
之前在比赛的时候需要用Python实现灰色关联分析,从网上搜了下只有实现两个列之间的,于是我把它改写成了直接像Pandas中的计算工具直接计算person系数那样的形式,可以对整个矩阵进行运算,并给出 ...
- 灰色关联度分析(python)
灰色关联度分析代码python import pandas as pd x=pd.read_csv('data4.csv') x=x.iloc[:,:].T# 1.数据均值化处理 x_mean=x.m ...
- 灰色关联度分析(Grey Relation Analysis,GRA)
1,灰色关联度分析(Grey Relation Analysis,GRA)原理详解 2,灰色关联分析法 3, 灰色关联分析(GRA)的理论及应用(matlab和python) 4 Python实现 灰 ...
- matlab的灰色关联,五种灰色关联度分析matlab代码
<五种灰色关联度分析matlab代码>由会员分享,可在线阅读,更多相关<五种灰色关联度分析matlab代码(3页珍藏版)>请在人人文库网上搜索. 1.灰色邓关联分析% p12- ...
- 灰色关联度分析法(GRA)_python
灰色系统理论及其应用系列博文: 一.灰色关联度分析法(GRA)_python 二.灰色预测模型GM(1,1) 三.灰色预测模型GM(1,n) 四.灰色预测算法改进1-背景值Z 五.灰色预测改进2-三角 ...
- 灰色关联度分析(Grey Relation Analysis,GRA)原理详解
释名 灰色关联度分析(Grey Relation Analysis,GRA),是一种多因素统计分析的方法.简单来讲,就是在一个灰色系统中,我们想要了解其中某个我们所关注的某个项目受其他的因素影响的相对 ...
最新文章
- 【EXLIBRIS】随笔记 011
- 网关限流了,躲在后面的服务就能高枕无忧啦?
- 组策略轻松实现软件发布,Active Directory系列之二十二
- 【QM-05】Material Specification(物料说明)
- Java函数式编程和面向对象编程
- Aspose.Cells Smart markers 基于模板导出Excel
- 苹果手机黑屏了怎么办_来电话手机黑屏怎么办
- 持续集成与持续部署宝典Part 4:创建持续部署流水线
- 蚂蚁金服一面二面试题及答案,职位Java高级工程师
- 如何从零开始搭建自己的博客
- figure字体 latex_LaTeX字体设置(一)
- Teclast X80h安装linux,安装android-x86教程。(没法再贴吧发表,只有百度网盘在线阅读...
- 彩虹php域名授权系统,彩虹云域名授权系统(正版源码+教程)
- 对比excel 轻松学python百度云_解读《对比Excel轻松学习Python数据分析》
- DSPE-PEG-NHS;磷脂-聚乙二醇-活性脂,可用于基因转染和疫苗传递(科研试剂)
- QQ机器人 微信机器人最新可用框架汇总
- java校验图片名称后缀
- 两台电脑实现共用鼠标键盘的软件ShareMouse
- 字符串(字节)长度计算
- 2003系统 金碟服务器设置,金蝶K3软件系统在Win2003环境的设置指南