成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

50種常用的matplotlib可視化,再也不用擔(dān)心模型背著我亂跑了

大數(shù)據(jù) 數(shù)據(jù)可視化
最近 Machine Learning Plus 的作者介紹了 50 種最常用的 matplotlib 可視化圖表,而本文簡要介紹了這篇文章,詳細(xì)的 50 種可視化需要查閱原文。

數(shù)據(jù)分析與機(jī)器學(xué)習(xí)中常需要大量的可視化,因此才能直觀了解模型背地里都干了些什么。而在可視化中,matplotlib 算得上是最常用的工具,不論是對數(shù)據(jù)有個預(yù)先的整體了解,還是可視化預(yù)測效果,matplotlib 都是不可缺失的模塊。最近 Machine Learning Plus 的作者介紹了 50 種最常用的 matplotlib 可視化圖表,而本文簡要介紹了這篇文章,詳細(xì)的 50 種可視化需要查閱原文。

[[255418]]

50 種可視化圖原地址:https://www.machinelearningplus.com/plots/top-50-matplotlib-visualizations-the-master-plots-python

介紹

該表格主要介紹了 7 種不同的 matplotlib 可視化類別,讀者可根據(jù)目的選擇不同的圖。例如,如果你想要繪制兩個變量之間的關(guān)系,查看下面 Correlation 部分;或者如果你想展示某個變量的動態(tài)變化,查看下面的 Change 部分。

  • 一個美麗的圖表應(yīng)該:
  • 提供準(zhǔn)確、有需求的信息,不歪曲事實;
  • 設(shè)計簡單,獲取時不會太費(fèi)力;
  • 美感是為了支持這些信息,而不是為了掩蓋這些信息;
  • 不要提供太過豐富的信息與太過復(fù)雜的結(jié)構(gòu)。

如下所示為 7 種不同類型的可視化圖表:協(xié)相關(guān)性主要描述的是不同變量之間的相互關(guān)系;偏差主要展現(xiàn)出不同變量之間的差別;排序主要是一些有序的條形圖、散點圖或斜線圖等;分布就是繪制概率與統(tǒng)計中的分布圖,包括離散型的直方圖和連續(xù)型的概率密度分布圖等。后面還有變量的時序變化圖和類別圖等常見的可視化制圖類別。

可視化

可視化

配置

在繪制這 50 種可視化圖之前,我們需要配置一下依賴項以及通用設(shè)定,當(dāng)然后面有一些獨(dú)立的美圖會修改通用設(shè)定。如果讀者看中了某種可視化圖,那么用這些配置再加上對應(yīng)的可視化代碼就能嵌入到我們自己的項目中。

如下所示 pandas 與 numpy 主要用于讀取和處理數(shù)據(jù),matplotlib 與 seaborn 主要用于可視化數(shù)據(jù)。其中 seaborn 其實是 matplotlib 上的一個高級 API 封裝,在大多數(shù)情況下使用 seaborn 就能做出很有吸引力的圖,而使用 matplotlib 能制作更具特色的圖。

  1. # !pip install brewer2mpl 
  2. import numpy as np 
  3. import pandas as pd 
  4. import matplotlib as mpl 
  5. import matplotlib.pyplot as plt 
  6. import seaborn as sns 
  7. import warnings; warnings.filterwarnings(action='once'
  8.  
  9. large = 22med = 16small = 12 
  10. params = {'axes.titlesize': large, 
  11.           'legend.fontsize': med, 
  12.           'figure.figsize': (16, 10), 
  13.           'axes.labelsize': med, 
  14.           'axes.titlesize': med, 
  15.           'xtick.labelsize': med, 
  16.           'ytick.labelsize': med, 
  17.           'figure.titlesize': large} 
  18. plt.rcParams.update(params) 
  19. plt.style.use('seaborn-whitegrid') 
  20. sns.set_style("white") 
  21. %matplotlib inline 
  22.  
  23. # Version 
  24. print(mpl.__version__)  #> 3.0.0 
  25. print(sns.__version__)  #> 0.9.0 

制圖示意

前面列出了 7 大類共 50 種不同的可視化圖,但我們無法一一介紹,因此我們從協(xié)相關(guān)性、偏差、分布、時序變化和群組圖中各選擇了一個示例,它們能展示不同數(shù)據(jù)在不同情況下的可視化需求。

1. 相關(guān)圖(Correllogram)

若有兩種變量,且它們的值為離散的,那么二維相關(guān)圖可以表示兩個變量所有可能組合之間的相關(guān)性。當(dāng)然如果是單變量,那么自身所有可能的組合也可以組成一個相關(guān)圖:

  1. # Import Dataset 
  2. df = pd.read_csv("https://github.com/selva86/datasets/raw/master/mtcars.csv") 
  3.  
  4. # Plot 
  5. plt.figure(figsize=(12,10), dpi80
  6. sns.heatmap(df.corr(), xticklabels=df.corr().columns, yticklabels=df.corr().columns, cmap='RdYlGn'center=0annot=True
  7.  
  8. # Decorations 
  9. plt.title('Correlogram of mtcars', fontsize=22
  10. plt.xticks(fontsize=12
  11. plt.yticks(fontsize=12
  12. plt.show() 

2. 面積圖(Area Chart)

通過使用不同的顏色表示水平軸和線之間的區(qū)域,面積圖不僅強(qiáng)調(diào)峰值和低谷值,同時還強(qiáng)調(diào)它們持續(xù)的時間:即峰值持續(xù)時間越長,面積越大。

  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), dpi80
  11. plt.fill_between(x[1:], y_returns[1:], 0, where=y_returns[1:] >= 0, facecolor='green'interpolate=Truealpha=0.7) 
  12. plt.fill_between(x[1:], y_returns[1:], 0, where=y_returns[1:] <= 0, facecolor='red'interpolate=Truealpha=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=15color='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=90fontdict={'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() 

 

3. 密度圖(Density Plot)

在概率論與統(tǒng)計學(xué)習(xí)方法中,可視化概率密度就變得非常重要了。這種密度圖正是可視化連續(xù)型隨機(jī)變量分布的利器,分布曲線上的每一個點都是概率密度,分布曲線下的每一段面積都是特定情況的概率。如下所示,通過將它們按「response」變量分組,我們可以了解 X 軸和 Y 軸之間的關(guān)系。

  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), dpi80
  6. sns.kdeplot(df.loc[df['cyl'] == 4, "cty"], shade=Truecolor="g"label="Cyl=4"alpha=.7) 
  7. sns.kdeplot(df.loc[df['cyl'] == 5, "cty"], shade=Truecolor="deeppink"label="Cyl=5"alpha=.7) 
  8. sns.kdeplot(df.loc[df['cyl'] == 6, "cty"], shade=Truecolor="dodgerblue"label="Cyl=6"alpha=.7) 
  9. sns.kdeplot(df.loc[df['cyl'] == 8, "cty"], shade=Truecolor="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() 

此外值得注意的是,深度學(xué)習(xí),尤其是深度生成模型中的分布極其復(fù)雜,它們是不能直接可視化的,我們一般會通過 T-SNE 等降維方法可視化。

4. 時序變化圖(Time Series Plot)

時序變化圖也是機(jī)器學(xué)習(xí)中最常見的一種可視化圖表,不論是可視化損失函數(shù)還是準(zhǔn)確率,都需要這種時序變化圖的幫助。這種圖主要關(guān)注某個變量怎樣隨時間變化而變化,以下展示了從 1949 到 1969 航空客運(yùn)量的變化:

  1. # Import Data 
  2. df = pd.read_csv('https://github.com/selva86/datasets/raw/master/AirPassengers.csv') 
  3.  
  4. # Draw Plot 
  5. plt.figure(figsize=(16,10), dpi80
  6. plt.plot('date', 'traffic', data=dfcolor='tab:red'
  7.  
  8. # Decoration 
  9. plt.ylim(50, 750) 
  10. xtick_location = df.index.tolist()[::12] 
  11. xtick_labels = [x[-4:] for x in df.date.tolist()[::12]] 
  12. plt.xticks(ticks=xtick_locationlabels=xtick_labelsrotation=0fontsize=12horizontalalignment='center'alpha=.7) 
  13. plt.yticks(fontsize=12alpha=.7) 
  14. plt.title("Air Passengers Traffic (1949 - 1969)", fontsize=22
  15. plt.grid(axis='both'alpha=.3) 
  16.  
  17. # Remove borders 
  18. plt.gca().spines["top"].set_alpha(0.0)     
  19. plt.gca().spines["bottom"].set_alpha(0.3) 
  20. plt.gca().spines["right"].set_alpha(0.0)     
  21. plt.gca().spines["left"].set_alpha(0.3)    
  22. plt.show() 

5. 樹狀圖(Dendrogram)

樹狀圖是另一個比較有用的圖表,層次聚類或決策樹等算法可以使用它完成優(yōu)美的可視化。樹形圖是以樹的圖形表示數(shù)據(jù)或模型結(jié)構(gòu),以父層和子層的結(jié)構(gòu)來組織對象,是枚舉法的一種表達(dá)方式。下圖展示了一種神似層次聚類算法的圖表:

  1. import scipy.cluster.hierarchy as shc 
  2.  
  3. # Import Data 
  4. df = pd.read_csv('https://raw.githubusercontent.com/selva86/datasets/master/USArrests.csv') 
  5.  
  6. # Plot 
  7. plt.figure(figsize=(16, 10), dpi80)   
  8. plt.title("USArrests Dendograms", fontsize=22)   
  9. dend = shc.dendrogram(shc.linkage(df[['Murder', 'Assault', 'UrbanPop', 'Rape']], method='ward'), labels=df.State.values, color_threshold=100)   
  10. plt.xticks(fontsize=12
  11. plt.show() 

【本文是51CTO專欄機(jī)構(gòu)“機(jī)器之心”的原創(chuàng)文章,微信公眾號“機(jī)器之心( id: almosthuman2014)”】

戳這里,看該作者更多好文

責(zé)任編輯:趙寧寧 來源: 51CTO專欄
相關(guān)推薦

2021-06-08 07:48:26

數(shù)據(jù) Python開發(fā)

2021-12-21 09:05:46

命令Linux敲錯

2020-06-15 08:03:17

大文件OOM內(nèi)存

2015-05-29 09:01:48

2019-09-04 10:00:07

手機(jī)人臉識別

2020-04-10 09:55:28

Git 工具黑魔法

2021-08-13 22:38:36

大數(shù)據(jù)互聯(lián)網(wǎng)技術(shù)

2022-09-14 08:02:25

加密算法Bcryp

2019-12-14 15:50:51

編程元知識代碼開發(fā)

2016-08-09 16:17:37

高德地圖TFBOYS大數(shù)據(jù)

2015-10-22 10:38:43

Wi-Fi燃?xì)鈭缶?/a>

2021-06-11 07:14:04

QQ音樂微信翻譯

2018-10-11 15:51:32

ChromeGoogle瀏覽器

2018-03-15 09:57:00

PythonMatplotlib數(shù)據(jù)可視化

2020-04-30 09:01:27

路由器安全網(wǎng)絡(luò)安全路由器

2023-09-12 13:39:08

2020-03-02 00:01:25

Linux字符目錄

2021-06-04 12:05:03

Redis Bitmap 數(shù)據(jù)庫

2019-07-23 09:08:43

Python操作系統(tǒng)高考
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 日韩av在线免费 | 国产日韩视频在线 | 亚洲一区二区在线播放 | 羞羞羞视频| 国产专区在线 | 91久久久久久久久久久久久 | 丁香婷婷综合激情五月色 | 亚洲高清av在线 | 天天夜夜操 | av片在线播放| 亚洲黄色av网站 | 伊人久久综合 | 99re6在线视频精品免费 | 亚洲一区二区三区欧美 | av网站免费在线观看 | 国产精品不卡 | 天色综合网 | 国产久 | 日韩中文字幕在线免费 | 亚洲免费婷婷 | 免费国产一区 | 99精品观看 | 欧美成人影院 | 中文字幕亚洲一区 | 免费黄色片视频 | 在线观看涩涩视频 | 91精品成人久久 | 成人影院在线 | 欧美日韩综合一区 | 日韩国产免费观看 | 久久精品中文 | 九九久久国产 | 97色在线观看免费视频 | 久久久久久九九九九九九 | 久久久亚洲| 天天操天天干天天爽 | 精品国产乱码久久久久久中文 | 一区二区三区欧美 | 欧美黑人一级爽快片淫片高清 | 九九九久久国产免费 | 国产日产精品一区二区三区四区 |