Python 多维数据可视化

2020-10-23 14:53:54 浏览数 (1)

1.平行坐标

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

代码语言:javascript复制
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.RadViz雷达图

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

代码语言:javascript复制
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()

3.Andrews曲线

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

代码语言:javascript复制
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()

4.矩阵图

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

代码语言:javascript复制
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

data = pd.read_csv('D:\iris.csv')

sns.pairplot(data, hue='Species')
plt.show()

5.相关系数热力图

表示不同特征之间的相关性(Pearson相关系数),数值越大,相关性越高。

代码语言:javascript复制
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

data = pd.read_csv('D:\iris.csv')

corr = data.corr()
sns.heatmap(corr, annot=True)
plt.show()

0 人点赞