我有一个数据框,它有250,000行但只有140列,并且我试图构建变量之间的对比图。 我知道子图的数量很多,画图所需的时间也很长。(我在一台i5处理器,3.4GHZ和32GB RAM的电脑上等待了一个多小时。)
记得scikit-learn可以并行构建随机森林,我在查看是否可以在seaborn中实现类似功能。 然而,我没有找到任何相关信息。源代码似乎为每个单独的图像调用matplotlib绘图函数。
这个过程能够并行化吗?如果是,从这里开始哪种方式是好的?
我有一个数据框,它有250,000行但只有140列,并且我试图构建变量之间的对比图。 我知道子图的数量很多,画图所需的时间也很长。(我在一台i5处理器,3.4GHZ和32GB RAM的电脑上等待了一个多小时。)
记得scikit-learn可以并行构建随机森林,我在查看是否可以在seaborn中实现类似功能。 然而,我没有找到任何相关信息。源代码似乎为每个单独的图像调用matplotlib绘图函数。
这个过程能够并行化吗?如果是,从这里开始哪种方式是好的?
如果速度瓶颈确实出现在此处,与其并行化,你可以将你的DataFrame
降采样为1000行来进行快速预览。通常1000点足以获得大致了解。
即sns.pairplot(df.sample(1000))
。
sns.pairplot(df, diag_kind='kde')
将你的Pairplot保存为图片,然后显示该图片,而不是在浏览器中呈现它。
from IPython.display import Image
import seaborn as sns
import matplotlib.pyplot as plt
sns_plot = sns.pairplot(df, size=2.0)
sns_plot.savefig("pairplot.png")
plt.clf() # Clean parirplot figure from sns
Image(filename='pairplot.png') # Show pairplot as image
size
已经被弃用,请使用height
代替。 - jtlz2