加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

50种常用的matplotlib可视化,再也不用担心模型背着我乱跑了

发布时间:2019-01-28 21:04:27 所属栏目:教程 来源:机器之心
导读:数据分析与机器学习中常需要大量的可视化,因此才能直观了解模型背地里都干了些什么。而在可视化中,matplotlib 算得上是最常用的工具,不论是对数据有个预先的整体了解,还是可视化预测效果,matplotlib 都是不可缺失的模块。最近 Machine Learning Plus

通过使用不同的颜色表示水平轴和线之间的区域,面积图不仅强调峰值和低谷值,同时还强调它们持续的时间:即峰值持续时间越长,面积越大。

  1. import numpy as np 
  2. import pandas as pd 
  3.  
  4. # Prepare Data 
  5. df = pd.read_csv("https://github.com/selva86/datasets/raw/master/economics.csv", parse_dates=['date']).head(100) 
  6. x = np.arange(df.shape[0]) 
  7. y_returns = (df.psavert.diff().fillna(0)/df.psavert.shift(1)).fillna(0) * 100 
  8.  
  9. # Plot 
  10. plt.figure(figsize=(16,10), dpi= 80) 
  11. plt.fill_between(x[1:], y_returns[1:], 0, where=y_returns[1:] >= 0, facecolor='green', interpolate=True, alpha=0.7) 
  12. plt.fill_between(x[1:], y_returns[1:], 0, where=y_returns[1:] <= 0, facecolor='red', interpolate=True, alpha=0.7) 
  13.  
  14. # Annotate 
  15. plt.annotate('Peak n1975', xy=(94.0, 21.0), xytext=(88.0, 28), 
  16.              bbox=dict(boxstyle='square', fc='firebrick'), 
  17.              arrowprops=dict(facecolor='steelblue', shrink=0.05), fontsize=15, color='white') 
  18.  
  19.  
  20. # Decorations 
  21. xtickvals = [str(m)[:3].upper()+"-"+str(y) for y,m in zip(df.date.dt.year, df.date.dt.month_name())] 
  22. plt.gca().set_xticks(x[::6]) 
  23. plt.gca().set_xticklabels(xtickvals[::6], rotation=90, fontdict={'horizontalalignment': 'center', 'verticalalignment': 'center_baseline'}) 
  24. plt.ylim(-35,35) 
  25. plt.xlim(1,100) 
  26. plt.title("Month Economics Return %", fontsize=22) 
  27. plt.ylabel('Monthly returns %') 
  28. plt.grid(alpha=0.5) 
  29. plt.show() 

50种常用的matplotlib可视化,再也不用担心模型背着我乱跑了

3. 密度图(Density Plot)

在概率论与统计学习方法中,可视化概率密度就变得非常重要了。这种密度图正是可视化连续型随机变量分布的利器,分布曲线上的每一个点都是概率密度,分布曲线下的每一段面积都是特定情况的概率。如下所示,通过将它们按「response」变量分组,我们可以了解 X 轴和 Y 轴之间的关系。

  1. # Import Data 
  2. df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mpg_ggplot2.csv") 
  3.  
  4. # Draw Plot 
  5. plt.figure(figsize=(16,10), dpi= 80) 
  6. sns.kdeplot(df.loc[df['cyl'] == 4, "cty"], shade=True, color="g", label="Cyl=4", alpha=.7) 
  7. sns.kdeplot(df.loc[df['cyl'] == 5, "cty"], shade=True, color="deeppink", label="Cyl=5", alpha=.7) 
  8. sns.kdeplot(df.loc[df['cyl'] == 6, "cty"], shade=True, color="dodgerblue", label="Cyl=6", alpha=.7) 
  9. sns.kdeplot(df.loc[df['cyl'] == 8, "cty"], shade=True, color="orange", label="Cyl=8", alpha=.7) 
  10.  
  11. # Decoration 
  12. plt.title('Density Plot of City Mileage by n_Cylinders', fontsize=22) 
  13. plt.legend() 
  14. plt.show() 

50种常用的matplotlib可视化,再也不用担心模型背着我乱跑了

此外值得注意的是,深度学习,尤其是深度生成模型中的分布极其复杂,它们是不能直接可视化的,我们一般会通过 T-SNE 等降维方法可视化。

4. 时序变化图(Time Series Plot)

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读