人工智能數據服務 課件 5-2 項目五 數據可視化 任務2 seaborn數據可視化_第1頁
人工智能數據服務 課件 5-2 項目五 數據可視化 任務2 seaborn數據可視化_第2頁
人工智能數據服務 課件 5-2 項目五 數據可視化 任務2 seaborn數據可視化_第3頁
人工智能數據服務 課件 5-2 項目五 數據可視化 任務2 seaborn數據可視化_第4頁
人工智能數據服務 課件 5-2 項目五 數據可視化 任務2 seaborn數據可視化_第5頁
已閱讀5頁,還剩35頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

任務5-2Seaborn數據可視化1任務描

述項目導入知

備任務小

結任務實

施通過數據可視化,我們可以更直觀地理解全球變暖的趨勢和影響,從而為政策制定和公眾教育提供支持。隨著全球氣候變化問題日益嚴重,一個環保組織希望分析和可視化全球氣候數據,以便更好地理解溫度變化趨勢。項

入任

述知

備任務小

結任務實

施某組織提供了一組包含歷年全球平均氣溫的數據集。利用這些數據讓學生學會導入數據、進行數據探索、清洗和轉換數據,以及如何使用不同的圖表來分析和展示數據。使用Pandas加載數據集,并進行初步的數據清洗和預處理。利用Seaborn創建分布圖、箱型圖等,對數據集中的各個變量進行可視化分析。通過可視化結果,分析數據中的模式、趨勢和異常值。項

入任

述知

備任務小

結任務實

施pythonimportseabornassnsimportmatplotlib.pyplotaspltimportpandasaspd圖5-2-1基于Seaborn的多變量可視化項

入知

備任

述任務小

結任務實

施Seaborn可視化是基于matplotlib的圖形可視化python包。它提供了一種高度交互式界面,便于用戶能夠做出各種有吸引力的統計圖表。Seaborn在matplotlib的基礎上進行了更高級的API封裝,從而使得作圖更加容易。在大多數情況下使用seaborn能做出更具吸引力的圖,而使用matplotlib能制作更多具有特色的圖。5.2.1Seaborn可視化項

入知

備任

述任務小

結任務實

施數據獲取是數據分析的第一步。全球氣候數據通常可以從以下來源獲取:1.政府機構:許多國家的氣象部門和環境部門會定期發布氣候數據。例如,美國國家海洋和大氣管理局(NOAA)提供了大量的氣候數據。2.國際組織:聯合國下屬的世界氣象組織(WMO)和政府間氣候變化專門委員會(IPCC)也提供了全球氣候數據。3.科研機構:如美國宇航局(NASA)的地球觀測系統項目(EOS)和歐洲空間局(ESA)等。4.公共數據集:一些公共數據集,如UCI機器學習庫、Kaggle等,也會提供氣候相關的數據集。5.2.2數據獲取項

入知

備任

述任務小

結任務實

施獲取數據時,通常需要下載數據文件,這些文件可能是CSV、Excel、JSON或其他格式。以下是一個示例代碼,展示如何從NOAA的氣候數據網站下載CSV文件:pythonimportrequestsfromioimportStringIOimportpandasaspd5.2.2數據獲取項

入知

備任

述任務小

結任務實

施數據預處理是確保數據質量的關鍵步驟。這包括處理缺失值、異常值、數據類型轉換等。1.處理缺失值:可以使用Pandas的`isnull()`和`dropna()`方法來識別和刪除缺失值。2.處理異常值:可以使用描述性統計方法(如箱線圖)來識別異常值,并使用`replace()`或`drop()`方法來處理。3.數據類型轉換:確保所有列的數據類型正確,如日期列應轉換為日期類型。5.2.3數據預處理項

入知

備任

述任務小

結任務實

施python#檢查缺失值print(climate_data.isnull().sum())#刪除缺失值climate_data=climate_data.dropna()#處理異常值(示例:使用箱線圖識別)sns.boxplot(x='Temperature')plt.show()#假設我們決定刪除異常值climate_data=climate_data[(climate_data['Temperature']>lower_bound)&(climate_data['Temperature']<upper_bound)]#數據類型轉換climate_data['Date']=pd.to_datetime(climate_data['Date'])5.2.3數據預處理項

入知

備任

述任務小

結任務實

施數據探索的目的是了解數據的基本結構和統計特性??梢允褂肞andas的描述性統計方法和Seaborn的可視化工具來進行探索。1.基本統計:使用`describe()`方法獲取數據的描述性統計信息。2.數據分布:使用直方圖、箱線圖等可視化工具來探索數據分布。5.2.4數據探索項

入知

備任

述任務小

結任務實

施python#基本統計print(climate_data.describe())#數據分布的直方圖sns.histplot(climate_data['Temperature'],kde=True)plt.title('TemperatureDistribution')plt.show()#箱線圖sns.boxplot(x='Temperature')plt.title('TemperatureBoxplot')plt.show()5.2.4數據探索項

入知

備任

述任務小

結任務實

施數據可視化是探索數據趨勢和模式的重要工具。Seaborn提供了多種圖表類型,如線圖、散點圖、熱力圖等。(1)時間序列分析:使用線圖來展示隨時間變化的趨勢。(2)相關性分析:使用散點圖和相關性熱力圖來探索變量之間的關系。(3)地理分布:如果數據包含地理位置信息,可以使用地圖來展示分布情況。5.2.5數據可視化項

入知

備任

述任務小

結任務實

施python#時間序列分析plt.figure(figsize=(12,6))sns.lineplot(x='Date',y='Temperature',data=climate_data)plt.title('TemperatureTrendOverTime')plt.show()#相關性熱力圖correlation_matrix=climate_data.corr()sns.heatmap(correlation_matrix,annot=True)plt.title('CorrelationHeatmap')plt.show()#假設有地理位置數據plt.figure(figsize=(12,6))sns.scatterplot(x='Longitude',y='Latitude',hue='Temperature',data=climate_data)plt.title('TemperatureDistributionbyLocation')plt.show()5.2.5數據可視化項

入知

備任

述任務小

結任務實

施python#時間序列分析plt.figure(figsize=(12,6))sns.lineplot(x='Date',y='Temperature',data=climate_data)plt.title('TemperatureTrendOverTime')plt.show()#相關性熱力圖correlation_matrix=climate_data.corr()sns.heatmap(correlation_matrix,annot=True)plt.title('CorrelationHeatmap')plt.show()#假設有地理位置數據plt.figure(figsize=(12,6))sns.scatterplot(x='Longitude',y='Latitude',hue='Temperature',data=climate_data)plt.title('TemperatureDistributionbyLocation')plt.show()5.2.5數據可視化項

入任

述任務小

結任務實

施知

備Seaborn數據可視化的任務工單如下表:

表5-2-1:任務工單班級:組別:姓名:掌握程度:任務名稱Seaborn數據可視化任務目標利用seaborn對數據的可視化標注數據Pandas的read_csv工具清單Pandas、Seaborn操作步驟數據導入和初步探索數據清洗單變量分布可視化(displot)單變量分析雙變量分析-三變量連線圖(relplot)雙變量-三變量散點圖(relplot)三變量簡單擬合(regplot)三變量簡單擬合(regplot)考核標準1.了解數據可視化的重要性和基本理論。2.掌握Seaborn庫的基本使用和高級技巧。3.如何根據數據特點選擇合適的可視化方法。4.數據解讀能力和審美能力。5.創新思維和問題解決能力。項

入任

述任務小

結任務實

施知

備步驟一數據導入和初步探索1.使用Pandas的read_csv函數導入數據集;head()查看數據集的前幾行;describe()獲取數據的統計摘要;info()查看數據集的基本信息,包括列的數據類型。Seaborn要求原始數據的輸入類型為pandas的Dataframe或Numpy數組,畫圖函數有以下幾種形式:(1)sns.圖名(x='X軸列名',y='Y軸列名',data=原始數據df對象)sns.圖名(x='X軸列名',y='Y軸列名',hue='分組繪圖參數',data=原始數據df對象)sns.圖名(x=np.array[…],y=np.array[…])(2)利用seaborn對數據的可視化操作,總結起來可以分為下面幾種:分布圖:如何使用

distplot

histplot

來展示數據分布。分類數據圖表:使用

catplot

來展示分類數據的分布。多變量關系:使用

pairplot

jointplot

來展示多個變量之間的關系。熱力圖:如何使用

heatmap

來展示矩陣數據。項

入任

述任務小

結任務實

施知

備步驟二數據清洗檢查缺失值:isnull().sum().處理缺失值,例如使用均值或中位數填充。對分類變量進行獨熱編碼(One-HotEncoding),雙變量分布通俗來說就是分析兩個變量的聯合概率分布和每一個變量的分布。項

入任

述任務小

結任務實

施知

備步驟三單變量分布可視化(displot)importnumpyasnpimportmatplotlibasmplimportmatplotlib.pyplotaspltimportseabornassns

sns.set_style('darkgrid')#主題沒照

x=np.random.randn(200)

sns.distplot(x)#默認以包含直方國和分布圖

sns.distplot(x,hist=False)#取消意方圖項

入任

述任務小

結任務實

施知

備步驟三單變量分布可視化(displot)Seaborn主要包含五種主題:darkgrid,whitegrid,dark,white,ticks。需要注意的是使用set_style()對主題的修改是全局性的,會影響后面所有的圖像。圖5-2-2set_style()圖項

入任

述任務小

結任務實

施知

備步驟三單變量分布可視化(displot)importpandasaspdmean,cov=[0,1],[(1,.5),(.5,1)]data=np.random.multivariate_normal(mean,cov,200)df=pd.DataFrame(data,columns=["x","y"])sns.jointplot(x="x",y="y",data=df)#默以雙變量分布sns.jointplot(x="x",y="y",data=df,kind="kde")#使用曲續擬合分布密度項

入任

述任務小

結任務實

施知

備步驟三單變量分布可視化(displot)圖5-2-3散點圖項

入任

述任務小

結任務實

施知

備步驟四單變量分析iris=sns.load_dataset("iris")sns.pairplot(iris)圖5-2-4散點矩陣圖項

入任

述任務小

結任務實

施知

備步驟五雙變量分析-三變量連線圖(relplot)df=pd.Dataframe(dict(time=np.arange(500),value=np.random.randn(500).cumsum()))

sns.relplot(x="time",y="value",kind="line",data=df)df=pd.Dataframe(np.random.randn(500,2).cumsum(axis=0),columns=["x","y"])

sns.relplot(x="x",y="y",sort=false,kind="line",data=df)為了進行數據分析,除了散點圖,同樣可以使用連續的線形來描述變化趨勢。使用散點圖(scatterplot())來分析溫度和租賃數量之間的關系。使用折線圖(plot())來展示不同季節的租賃數量隨時間的變化。項

入任

述任務小

結任務實

施知

備步驟六雙變量-三變量散點圖(relplot)統計分析是了解數據集中的變量如何相互關聯以及這些關系如何依賴于其他變量的過程,有時候在對數據集完全不了解的情況下,可以利用散點圖和連線圖對其進行可視化分析,這里主要用到的函數是relplot函數。我們利用就餐小費金額數據tips來分析小費金額與就餐消費金額之間的關系。在此基礎上我們還可以將是否吸煙這個變量通過顏色或圖形加入其中。項

入任

述任務小

結任務實

施知

備步驟六雙變量-三變量散點圖(relplot)tips=sns.load_dataset("tips")

sns.relplot(x="total_bill",y="tip",data=tips)

#使用頗色區分吸煙著和非吸煙著

sns.relplot(x="total_bill",y="tip",hue="smoker",data=tips)

#使用顏色和圖形區分吸煙著和非吸煙者sns.relplot(x="total_bill",y="tip",hue="smoker",style="smoker",data=tips)項

入任

述任務小

結任務實

施知

備步驟六雙變量-三變量散點圖(relplot)圖5-2-6三變量連線圖項

入任

述任務小

結任務實

施知

備步驟七三變量簡單擬合(regplot)使用條形圖(bar())來比較不同季節、不同天氣條件下的租賃數量。使用熱力圖(heatmap())來展示不同季節、不同天氣條件下的租賃數量的相關性。為了使線形更加的平滑可以使用聚合功能,即當對x變量的相同值進行多次測量時,取平均,并取可信區間。同時,也可以使用顏色來區分不同類型。項

入任

述任務小

結任務實

施知

備步驟七三變量簡單擬合(regplot)fmri=sns.load_dataset("fmri")

plt.figure()

sns.relplot(x="timepoint",y="signal",kind="line",data=fmri)

plt.figure()

#不進行平滑的曲線

sns.relplot(x="timepoint",y="signal",estimator=None,kind="line",data=fmri)

#使用顏色來區分不同類型sns.relplot(x="timepoint",y="signal",hue="event",kind="line",data=fmri)項

入任

述任務小

結任務實

施知

備步驟七三變量簡單擬合(regplot)圖5-2-7三變量連線圖項

入任

述任務小

結任務實

施知

備步驟八高級可視化使用Matplotlib的subplot功能來創建一個包含多個圖表的復雜圖形。分類數據的特殊繪圖(catplot),我們之前學習了如何使用散點圖和回歸模型擬合來可視化兩個變量之間的關系。但是需要注意的是,散點圖和回歸通常需要兩個變量均為定量變量。如果感興趣的主要變量之一為分類變量,那該怎么辦?在這種情況下,散點圖和回歸模型方法將不起作用,就需要利用專門的分類可視化函數進行擬合。這時我們通常使用catplot()函數。項

入任

述任務小

結任務實

施知

備步驟八高級可視化(1)catplot()函數#隨執料動

sns.catplot(x="day",y="totalbill",data=tips)

plt.figure()

#取消隨機料動

sns.catplot(x="day",y="totalbill",jitter=False,data=tips)項

入任

述任務小

結任務實

施知

備步驟八高級可視化項

入任

述任務小

結任務實

施知

備步驟八高級可視化(2)swarm同時可以使用分群(swarm)方法來使得圖形分布均勻。值得注意的是,與上面的scatter相同,catplot函數可以使用hue來添加一個維度,但是暫不支持style。項

入任

述任務小

結任務實

施知

備步驟八高級可視化(3)atplot()函數#使用swarm方法來使圖形分布均勻

sns.catplot(x="day",y="totalbill",kind="swarm",data=tips)

#使用hu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論