人工智能數(shù)據(jù)服務(wù) 課件 5-2 項(xiàng)目五 數(shù)據(jù)可視化 任務(wù)2 seaborn數(shù)據(jù)可視化_第1頁
人工智能數(shù)據(jù)服務(wù) 課件 5-2 項(xiàng)目五 數(shù)據(jù)可視化 任務(wù)2 seaborn數(shù)據(jù)可視化_第2頁
人工智能數(shù)據(jù)服務(wù) 課件 5-2 項(xiàng)目五 數(shù)據(jù)可視化 任務(wù)2 seaborn數(shù)據(jù)可視化_第3頁
人工智能數(shù)據(jù)服務(wù) 課件 5-2 項(xiàng)目五 數(shù)據(jù)可視化 任務(wù)2 seaborn數(shù)據(jù)可視化_第4頁
人工智能數(shù)據(jù)服務(wù) 課件 5-2 項(xiàng)目五 數(shù)據(jù)可視化 任務(wù)2 seaborn數(shù)據(jù)可視化_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

任務(wù)5-2Seaborn數(shù)據(jù)可視化1任務(wù)描

述項(xiàng)目導(dǎo)入知

識(shí)

準(zhǔn)

備任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入任

務(wù)

述知

識(shí)

準(zhǔn)

備任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入任

務(wù)

述知

識(shí)

準(zhǔn)

備任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入知

識(shí)

準(zhǔn)

備任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入知

識(shí)

準(zhǔn)

備任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入知

識(shí)

準(zhǔn)

備任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入知

識(shí)

準(zhǔn)

備任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入知

識(shí)

準(zhǔn)

備任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入知

識(shí)

準(zhǔn)

備任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入知

識(shí)

準(zhǔn)

備任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入知

識(shí)

準(zhǔn)

備任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入知

識(shí)

準(zhǔn)

備任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入知

識(shí)

準(zhǔn)

備任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

備Seaborn數(shù)據(jù)可視化的任務(wù)工單如下表:

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

distplot

histplot

來展示數(shù)據(jù)分布。分類數(shù)據(jù)圖表:使用

catplot

來展示分類數(shù)據(jù)的分布。多變量關(guān)系:使用

pairplot

jointplot

來展示多個(gè)變量之間的關(guān)系。熱力圖:如何使用

heatmap

來展示矩陣數(shù)據(jù)。項(xiàng)

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

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

x=np.random.randn(200)

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

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

備步驟三單變量分布可視化(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")#使用曲續(xù)擬合分布密度項(xiàng)

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

備步驟三單變量分布可視化(displot)圖5-2-3散點(diǎn)圖項(xiàng)

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

備步驟五雙變量分析-三變量連線圖(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)為了進(jìn)行數(shù)據(jù)分析,除了散點(diǎn)圖,同樣可以使用連續(xù)的線形來描述變化趨勢。使用散點(diǎn)圖(scatterplot())來分析溫度和租賃數(shù)量之間的關(guān)系。使用折線圖(plot())來展示不同季節(jié)的租賃數(shù)量隨時(shí)間的變化。項(xiàng)

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

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

#使用頗色區(qū)分吸煙著和非吸煙著

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

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

備步驟六雙變量-三變量散點(diǎn)圖(relplot)圖5-2-6三變量連線圖項(xiàng)

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

plt.figure()

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

plt.figure()

#不進(jìn)行平滑的曲線

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

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

備步驟八高級(jí)可視化(1)catplot()函數(shù)#隨執(zhí)料動(dòng)

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

plt.figure()

#取消隨機(jī)料動(dòng)

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

備步驟八高級(jí)可視化項(xiàng)

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

導(dǎo)

入任

務(wù)

述任務(wù)小

結(jié)任務(wù)實(shí)

施知

識(shí)

準(zhǔn)

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

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

#使用hu

溫馨提示

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

評(píng)論

0/150

提交評(píng)論