gpt4 book ai didi

python - 使用 matplotlib 可视化 10 维数据

转载 作者:太空狗 更新时间:2023-10-30 00:24:04 27 4
gpt4 key购买 nike

我有这样的数据:

ID    x1   x2   x3    x4    x5    x6    x7   x8   x9   x10
1 -0.18 5 -0.40 -0.26 0.53 -0.66 0.10 2 -0.20 1
2 -0.58 5 -0.52 -1.66 0.65 -0.15 0.08 3 3.03 -2
3 -0.62 5 -0.09 -0.38 0.65 0.22 0.44 4 1.49 1
4 -0.22 -3 1.64 -1.38 0.08 0.42 1.24 5 -0.34 0
5 0.00 5 1.76 -1.16 0.78 0.46 0.32 5 -0.51 -2

可视化这些数据的最佳方法是什么,我使用 matplotlib 来可视化它,并使用 pandas 从 csv 中读取它

谢谢

最佳答案

在高维空间中可视化数据一直是一个难题。一种常用的解决方案 (and is now available in pandas) 是检查数据的所有 1D 和 2D 投影。它不会为您提供有关数据的所有信息,但除非您可以在 10D 中看到,否则无法将其可视化!下面是一个如何使用 pandas(0.7.3 以上版本)执行此操作的示例:

import numpy as np 
import pandas as pd
from pandas.plotting import scatter_matrix

#first make some fake data with same layout as yours
data = pd.DataFrame(np.random.randn(100, 10), columns=['x1', 'x2', 'x3',\
'x4','x5','x6','x7','x8','x9','x10'])

#now plot using pandas
scatter_matrix(data, alpha=0.2, figsize=(6, 6), diagonal='kde')

这会生成一个图,其中所有 2D 投影都作为散点图,以及 1D 投影的 KDE 直方图:

enter image description here

我在 my github page 上也有一个纯 matplotlib 方法来解决这个问题,它会产生非常相似的绘图类型(它专为 MCMC 输出而设计,但也适用于此处)。以下是您在此处使用它的方式:

import corner_plot as cp

cp.corner_plot(data.as_matrix(),axis_labels=data.columns,nbins=10,\
figsize=(7,7),scatter=True,fontsize=10,tickfontsize=7)

enter image description here

关于python - 使用 matplotlib 可视化 10 维数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40318121/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com