<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                # Python中數據可視化方法的簡要介紹 > 原文: [https://machinelearningmastery.com/data-visualization-methods-in-python/](https://machinelearningmastery.com/data-visualization-methods-in-python/) 有時數據沒有意義,直到您可以用視覺形式查看,例如圖表和圖表。 能夠為自己和他人快速可視化數據樣本是應用統計和應用機器學習的重要技能。 在本教程中,您將發現在Python中可視化數據時需要了解的五種類型的圖,以及如何使用它們來更好地理解您自己的數據。 完成本教程后,您將了解: * 如何使用條形圖繪制帶有線圖和分類數量的時間序列數據。 * 如何使用直方圖和箱形圖匯總數據分布。 * 如何用散點圖總結變量之間的關系。 讓我們開始吧。 ![A Gentle Introduction to Data Visualization Methods in Python](img/7e2e9d16985331fef83538c68c807780.jpg) Python中數據可視化方法的溫和介紹 [Ian Sutton](https://www.flickr.com/photos/22616984@N07/5084905801/) 的照片,保留一些權利。 ## 教程概述 本教程分為7個部分;他們是: 1. 數據可視化 2. Matplotlib簡介 3. 線圖 4. 條形圖 5. 直方圖 6. 盒子和晶須圖 7. 散點圖 ## 數據可視化 數據可視化是應用統計和機器學習的重要技能。 統計數據確實側重于數據的定量描述和估計。數據可視化提供了一套重要的工具,可以獲得定性的理解。 這在探索和了解數據集時非常有用,可以幫助識別模式,損壞數據,異常值等等。通過一點領域知識,數據可視化可用于表達和展示圖表和圖表中的關鍵關系,這些關系對于您自己和利益相關者而言比關聯或重要性測量更為內向。 數據可視化和探索性數據分析本身就是整個領域,我將建議深入研究最后提到的一些書籍。在本教程中,讓我們看一下您可以用來更好地理解數據的基本圖表和圖表。 您需要了解基本數據可視化的五個關鍵圖。他們是: * 線圖 * 條形圖 * 直方圖 * 盒子和晶須圖 * 散點圖 通過了解這些圖表,您可以快速了解您遇到的大多數數據。 在本教程的其余部分中,我們將仔細研究每種情節類型。 ## Matplotlib簡介 Python中有許多優秀的繪圖庫,我建議探索它們以創建可呈現的圖形。 對于供您自己使用的快速和臟圖,我建議使用matplotlib庫。它是許多其他繪圖庫的基礎,也是Pandas等高級庫中的繪圖支持。 matplotlib提供了一個上下文,其中可以在顯示圖像或將其保存到文件之前繪制一個或多個圖。可以通過 _pyplot_ 上的函數訪問上下文。可以按如下方式導入上下文: ```py from matplotlib import pyplot ``` 導入此上下文并將其命名為 _plt_ ;例如: ```py import matplotlib.pyplot as plt ``` 我們不會使用此約定,而是堅持使用標準的Python導入約定。 圖表和情節是通過制作和調用背景來制作的;例如: ```py pyplot.plot(...) ``` 軸,標簽,圖例等元素可以在此上下文中作為單獨的函數調用進行訪問和配置。 通過調用 [show()函數](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.show.html),可以在新窗口中顯示上下文中的圖形: ```py # display the plot pyplot.show() ``` 或者,可以將上下文中的圖形保存到文件,例如PNG格式的圖像文件。 [savefig()函數](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.savefig.html)可用于保存圖像。 ```py pyplot.savefig('my_image.png') ``` 這是使用matplotlib庫的最基本的速成課程。 有關更多詳細信息,請參閱[用戶指南](https://matplotlib.org/users/index.html)和本教程末尾的資源。 ## 線圖 線圖通常用于呈現定期收集的觀察結果。 x軸表示規則間隔,例如時間。 y軸顯示觀察結果,由x軸排序并通過線連接。 可以通過調用 [plot()函數](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html)并傳遞常規間隔的x軸數據和觀察的y軸來創建折線圖。 ```py # create line plot pyplot.plot(x, y) ``` 線圖對于呈現時間序列數據以及觀察之間存在排序的任何序列數據是有用的。 下面的示例創建一個包含100個浮點值的序列作為x軸,將正弦波作為x軸的函數作為y軸上的觀察值。結果繪制成線圖。 ```py # example of a line plot from numpy import sin from matplotlib import pyplot # consistent interval for x-axis x = [x*0.1 for x in range(100)] # function of x for y-axis y = sin(x) # create line plot pyplot.plot(x, y) # show line plot pyplot.show() ``` 運行該示例會創建一個折線圖,顯示橫跨x軸的y軸上熟悉的正弦波圖案,觀察之間的間隔一致。 ![Example of a Line Plot](img/2710a9f119b631179a58f7d708faa6c0.jpg) 線圖的示例 ## 條形圖 條形圖通常用于顯示多個類別的相對數量。 x軸表示類別并均勻分布。 y軸表示每個類別的數量,并繪制為從基線到y軸上的適當水平的條形。 可以通過調用 [bar()函數](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.bar.html)并傳遞x軸的類別名稱和y軸的數量來創建條形圖。 ```py # create bar chart pyplot.bar(x, y) ``` 條形圖可用于比較多個點數量或估計。 下面的示例創建一個包含三個類別的數據集,每個類別都使用字符串標簽定義。為每個類別中的數量繪制單個隨機整數值。 ```py # example of a bar chart from random import seed from random import randint from matplotlib import pyplot # seed the random number generator seed(1) # names for categories x = ['red', 'green', 'blue'] # quantities for each category y = [randint(0, 100), randint(0, 100), randint(0, 100)] # create bar chart pyplot.bar(x, y) # show line plot pyplot.show() ``` 運行該示例將創建條形圖,顯示x軸上的類別標簽和y軸上的數量。 ![Example of a Bar Chart](img/1ee372ca444b5624584208ecc54433e9.jpg) 條形圖的示例 ## 直方圖 直方圖通常用于概括數據樣本的分布。 x軸表示觀察的離散區間或間隔。例如,值為1到10的觀測值可以分為5個區間,值[1,2]將分配給第一個區間,[3,4]將分配給第二個區間,依此類推。 y軸表示數據集中屬于每個箱的觀測數的頻率或計數。 基本上,數據樣本被轉換為條形圖,其中x軸上的每個類別代表觀察值的間隔。 > 直方圖是密度估計值。密度估計給出了數據分布的良好印象。[...]想法是通過計算連續間隔(箱)序列中的觀測數量來局部表示數據密度...... - 第11頁,[應用多變量統計分析](http://amzn.to/2Dtykv7),2015年。 可以通過調用 [hist()函數](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.hist.html)并傳入表示數據樣本的列表或數組來創建直方圖。 ```py # create histogram plot pyplot.hist(x) ``` 直方圖對于總結數據樣本的分布很有價值。 下面的示例創建了一個從標準高斯分布中繪制的1,000個隨機數的數據集,然后將數據集繪制為直方圖。 ```py # example of a histogram plot from numpy.random import seed from numpy.random import randn from matplotlib import pyplot # seed the random number generator seed(1) # random numbers drawn from a Gaussian distribution x = randn(1000) # create histogram plot pyplot.hist(x) # show line plot pyplot.show() ``` 運行這個例子,我們可以看到條形的形狀顯示了高斯分布的鐘形曲線。我們可以看到該函數自動選擇了二進制數,在這種情況下,將值按整數值分組。 ![Example of a Histogram Plot](img/add8ee7064238a2914387a00b9f7526c.jpg) 直方圖的示例 通常,仔細選擇容器的數量可以幫助更好地暴露數據分布的形狀。可以通過設置“ _bins_ ”參數來指定箱數;例如: ```py # create histogram plot pyplot.hist(x, bins=100) ``` ## 盒子和晶須圖 箱形和須狀圖(簡稱箱形圖)通常用于概括數據樣本的分布。 x軸用于表示數據樣本,其中如果需要,可以在x軸上并排繪制多個箱圖。 y軸表示觀察值。繪制一個框以匯總數據集的中間50%,從第25百分位的觀察開始到第75百分位結束。中位數或第50百分位數用線繪制。稱為[四分位數范圍](https://en.wikipedia.org/wiki/Interquartile_range)或IQR的值計算為第75百分位數和第25百分位數之差的1.5 *。稱為晶須的線從盒子的兩端延伸,具有IQR的長度,以展示分布中預期的敏感值范圍。胡須外的觀察可能是異常值,并用小圓圈繪制。 > boxplot是一種顯示變量分布的圖形技術。它可以幫助我們查看位置,偏斜度,展布,平鋪長度和邊遠點。 [...] boxplot是Five Number Summary的圖形表示。 - 第5頁,[應用多變量統計分析](http://amzn.to/2Dtykv7),2015年。 可以通過調用 [boxplot()函數](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.boxplot.html)作為數組或列表傳入數據樣本來繪制箱圖。 ```py # create box and whisker plot pyplot.boxplot(x) ``` 箱形圖有助于總結數據樣本的分布,作為直方圖的替代方案。它們可以幫助您快速了解盒子和晶須中常見和合理值的范圍。因為我們沒有明確地查看分布的形狀,所以當數據具有未知或異常分布時(例如非高斯分布),通常使用此方法。 下面的示例在一個圖表中創建三個箱圖,每個箱圖總結了從略微不同的高斯分布中提取的數據樣本。每個數據樣本都創建為一個數組,所有三個數據樣本數組都被添加到一個填充到繪圖函數的列表中。 ```py # example of a box and whisker plot from numpy.random import seed from numpy.random import randn from matplotlib import pyplot # seed the random number generator seed(1) # random numbers drawn from a Gaussian distribution x = [randn(1000), 5 * randn(1000), 10 * randn(1000)] # create box and whisker plot pyplot.boxplot(x) # show line plot pyplot.show() ``` 運行該示例將創建一個顯示三個框和胡須圖的圖表。我們可以看到,每個y軸使用相同的比例,使第一個圖看起來被壓扁,最后一個圖看起來展開。 在這種情況下,我們可以看到中間50%數據的黑框,中位數的橙色線,總結敏感數據范圍的胡須線,最后是可能的異常值的點。 ![Example of a Box and Whisker Plot](img/065cb6dd055bb920aec2268f29e3366a.jpg) 盒子和晶須圖的例子 ## 散點圖 散點圖(或“散點圖”)通常用于概括兩個配對數據樣本之間的關系。 配對數據樣本意味著針對給定觀察記錄了兩個度量,例如人的體重和身高。 x軸表示第一樣品的觀察值,y軸表示第二樣品的觀察值。圖上的每個點代表一次觀察。 > 散點圖是彼此相對的變量的二元或三變量圖。它們幫助我們理解數據集變量之間的關系。向下傾斜的散射表示當我們在水平軸上增加變量時,垂直軸上的變量減小。 - 第19頁,[應用多變量統計分析](http://amzn.to/2Dtykv7),2015年。 可以通過調用 [scatter()函數](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.scatter.html)并傳遞兩個數據樣本數組來創建散點圖。 ```py # create scatter plot pyplot.scatter(x, y) ``` 散點圖可用于顯示兩個變量之間的關聯或相關性。可以量化相關性,例如最佳擬合線,也可以在同一圖表上繪制線圖,使關系更清晰。 對于給定的觀察,數據集可以具有兩個以上的度量(變量或列)。散點圖矩陣是一個購物車,其中包含具有兩個以上變量的數據集中每對變量的散點圖。 下面的示例創建了兩個相關的數據樣本。第一個是從標準高斯繪制的隨機數的樣本。第二個取決于第一個,通過將第二個隨機高斯值添加到第一個度量的值。 ```py # example of a scatter plot from numpy.random import seed from numpy.random import randn from matplotlib import pyplot # seed the random number generator seed(1) # first variable x = 20 * randn(1000) + 100 # second variable y = x + (10 * randn(1000) + 50) # create scatter plot pyplot.scatter(x, y) # show line plot pyplot.show() ``` 運行該示例將創建散點圖,顯示兩個變量之間的正相關關系。 ![Example of a Scatter Plot](img/ad26858b639c854fd2b585313590b983.jpg) 散點圖的示例 ## 擴展 本節列出了一些擴展您可能希望探索的教程的想法。 * 選擇一個示例并更新它以使用您自己設計的數據集。 * 加載標準機器學習數據集并繪制變量。 * 編寫便利功能,輕松創建數據圖,包括標簽和圖例。 如果你探索任何這些擴展,我很想知道。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 ### 帖子 * [使用Pandas在Python中可視化機器學習數據](https://machinelearningmastery.com/visualize-machine-learning-data-python-pandas/) * [使用Python進行時間序列數據可視化](https://machinelearningmastery.com/time-series-data-visualization-with-python/) * [使用Caret R軟件包進行數據可視化](https://machinelearningmastery.com/data-visualization-with-the-caret-r-package/) ### 圖書 * [定量信息的視覺顯示](http://amzn.to/2pbC14o),2001。 * [用于數據分析的Python:與Pandas,NumPy和IPython進行數據爭奪](http://amzn.to/2Gt8Pgt),2017年。 * [應用多變量統計分析](http://amzn.to/2Dtykv7),2015年。 ### API * [matplotlib庫](https://matplotlib.org/) * [matplotlib用戶指南](https://matplotlib.org/users/index.html) * [matplotlib.pyplot()API](https://matplotlib.org/api/pyplot_api.html#module-matplotlib.pyplot) * [matplotlib.pyplot.show()API](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.show.html) * [matplotlib.pyplot.savefig()API](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.savefig.html) * [matplotlib.pyplot.plot()API](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.plot.html) * [matplotlib.pyplot.bar()API](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.bar.html) * [matplotlib.pyplot.hist()API](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.hist.html) * [matplotlib.pyplot.boxplot()API](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.boxplot.html) * [matplotlib.pyplot.scatter()API](https://matplotlib.org/api/_as_gen/matplotlib.pyplot.scatter.html) ### 用品 * [維基百科上的數據可視化](https://en.wikipedia.org/wiki/Data_visualization) * [維基百科上的條形圖](https://en.wikipedia.org/wiki/Bar_chart) * [維基百科上的直方圖](https://en.wikipedia.org/wiki/Histogram) * [維基百科上的箱子圖](https://en.wikipedia.org/wiki/Box_plot) * [維基百科](https://en.wikipedia.org/wiki/Interquartile_range)的四分位數范圍 * [維基百科上的散點圖](https://en.wikipedia.org/wiki/Scatter_plot) ## 摘要 在本教程中,您發現了Python中可視化數據的溫和介紹。 具體來說,你學到了: * 如何使用條形圖繪制帶有線圖和分類數量的時間序列數據。 * 如何使用直方圖和箱線圖匯總數據分布。 * 如何用散點圖總結變量之間的關系。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看