Qui*_*2k1 7 python parallel-processing performance seaborn
我有一个具有250.000行但140列的数据框,并且正在尝试构建对图。的变量。我知道子图的数量巨大,而且绘制所需的时间也很多。(我在配备3,4 GHZ和32 GB RAM的i5上等待了一个多小时)。
记得scikit learning允许并行构建随机森林,我正在检查seaborn是否也可以这样做。但是,我什么也没找到。源代码似乎为每个图像调用了matplotlib plot函数。
这不能并行化吗?如果是,那么从这里开始的好方法是什么?
DataFrame
如果速度瓶颈确实存在,您可以降低采样量而不是并行化,比如说要对1000行进行采样。通常,只要获得1000分就可以大致了解正在发生的事情。
即sns.pairplot(df.sample(1000))
。
对我来说,由于数据的差异,直方图花费了很长时间。我只有1200行4列,但花了半个小时才放弃。我认为它是如此分散和无序,以至于直方图不断更新。一种解决方法可能是使用 bin 参数,但我的解决方案是使用 KDE 作为对角线。使用 KDE,只需几秒钟。
sns.pairplot(df, diag_kind='kde')
Run Code Online (Sandbox Code Playgroud)
将配对图保存到图像,然后显示该图像,而不是在浏览器中全部渲染。
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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3021 次 |
最近记录: |