首席数据官

Hi, 请登录

Python 多维数据可视化

多维数据可视化

多维度(3维以上)数据的可视化,用常规的方法不太好实现。本文介绍几种用Python实现的将多维数据展示在二维平面中的方法。

1.数据

以经典的鸢尾花数据集为例(原始数据下载:CSDN或者GitHub)。

以下是5条经过格式处理的数据,为了便于后面可视化展示(格式处理数据集下载:GitHub)。

Sepal LengthSepal WidthPetal LengthPetal WidthSpecies

6.4

2.8

5.6

2.2

virginica

5

2.3

3.3

1

versicolor

4.9

2.5

4.5

1.7

virginica

4.9

3.1

1.5

0.1

setosa

5.7

3.8

1.7

0.3

setosa

前4列是鸢尾花的4个特征python高维数据可视化,最后1列是鸢尾花的3种分类。

2.数据可视化 2.1 平行坐标

图中每条垂直的线代表一个特征,表中一行的数据在图中表现为一条折线,不同颜色的线表示不同的类别。

import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import parallel_coordinates
data = pd.read_csv('D:\\iris.csv')
plt.figure('多维度-parallel_coordinates')
plt.title('parallel_coordinates')
parallel_coordinates(data, 'Species', color=['blue', 'green', 'red', 'yellow'])
plt.show()

平行坐标

2.2 RadViz雷达图

4个特征对应于单位圆上的4个点,圆中每一个散点代表表中一行数据。可以想象为每个散点上都有4条线分别连接到4个特征点上,而特征值(经过标准化处理)就表示这4条线施加在散点上的力,每个点的位置恰好使其受力平衡。

import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import radviz
data = pd.read_csv('D:\\iris.csv')
plt.figure('多维度-radviz')
plt.title('radviz')
radviz(data, 'Species', color=['blue', 'green', 'red', 'yellow'])
plt.show()

RadViz

2.3 Andrews曲线

特征值转化为傅里叶序列的系数python高维数据可视化,不同颜色的曲线代表不同的类别。

import pandas as pd
import matplotlib.pyplot as plt
from pandas.plotting import andrews_curves
data = pd.read_csv('D:\\iris.csv')
plt.figure('多维度-andrews_curves')
plt.title('andrews_curves')
andrews_curves(data, 'Species', color=['blue', 'green', 'red', 'yellow'])
plt.show()

Andrews曲线

2.4 矩阵图

表示不同特征之间的关系。

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
data = pd.read_csv('D:\\iris.csv')
sns
试看结束,如继续查看请付费↓↓↓↓
打赏0.5元才能查看本内容,立即打赏

来源【首席数据官】,更多内容/合作请关注「辉声辉语」公众号,送10G营销资料!

版权声明:本文内容来源互联网整理,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jkhui22@126.com举报,一经查实,本站将立刻删除。

相关推荐

二维码
评论