Python 相關性:創建視覺對象的指南

Python 相關性:創建視覺對象的指南

在今天的博客中,我們將介紹可視化Python相關性的過程,以及如何將這些視覺效果導入 LuckyTemplates。您可以在本博客底部觀看本教程的完整視頻。

目錄

了解相關性

這是一張很好的圖片,顯示了不同類型的相關性。 

Python 相關性:創建視覺對象的指南

從左邊開始,我們有完美的正相關,這意味著它的相關值為 1。然後,按照降序排列的正相關,直到 0。 

中間的圖表顯示沒有相關性,表明相關性值等於 0。 

最後,右側呈現從 0 開始遞減的負相關值。最右邊的圖是完美的負相關,其相關值為 -1。

Python 關聯包

我們將在本教程中使用四個包。我們的第一個包是Pandas,用於數據操作並保存為變量pd。 

對於可視化,我們將使用Matplotlib,保存為plt變量以便於使用這些函數。我們的統計可視化庫Seaborn將保存為sns。最後,要保存為np 的Numpy將用於線性代數。 

Python 相關性:創建視覺對象的指南

對於數據,我們將使用 Seaborn 中的示例數據集。然後使用 sns 變量,我們將引入鑽石數據集,如下所示。.

Python 相關性:創建視覺對象的指南

數據的屬性

我們可以使用dataset.info 函數查看數據的屬性。這個函數向我們展示了所有不同的數據類型,如下面最後一列所示。

Python 相關性:創建視覺對象的指南

請注意,相關性僅適用於數值變量,因此,我們大部分時間都將查看數值變量。但是,我們還將學習如何利用一些分類變量進行可視化。 

Python 相關數據集

通過使用寫為dataset.head 的函數 head ,我們可以獲得數據的前五行,如下所示。

Python 相關性:創建視覺對象的指南

我們在第一列中有carat,然後是分類變量cutcolorclarity,然後是其餘數據的數值。 

Python 相關性:創建散點圖

在可視化相關性並查看兩個變量時,我們通常會查看散點圖。 

因此,使用 Seaborn 庫,我們使用散點圖函數創建了散點圖,我們將上面保存的數據作為data=dataset傳入。然後,我們分別確定了 X 和 Y 變量——克拉價格。 

Python 相關性:創建視覺對象的指南

這是我們使用 Seaborn 庫製作的散點圖。 

Python 相關性:創建視覺對象的指南

你可以看到這個散點圖非常密集。那是因為我們有大約 54,000 行數據,並且這些點不一定以最佳方式表示。

我們可以按 Shift + Tab 鍵來查看設置散點圖樣式的不同方式。它將向我們展示可以添加到散點圖中的不同參數列表。 

Python 相關性:創建視覺對象的指南

進一步向下滾動將為我們提供有關每個列出的參數的作用的信息。 

Python 相關性:創建視覺對象的指南

其他散點圖參數

讓我們深入一點。我們可以使linewidth=0因為我們第一個散點圖中的白線,如下所示,有些模糊。 

Python 相關性:創建視覺對象的指南

我們還想調整 alpha 以便控制不透明度。讓我們在示例中使用alpha=0.2 。但當然,您也可以將其更改為 0.1。 

Python 相關性:創建視覺對象的指南

如果我們添加這些參數並單擊Run,您可以看到我們的散點圖變得更加不透明,沒有白線。 

Python 相關性:創建視覺對象的指南

您可以使用參數來獲得您正在尋找的最佳視覺效果。 

使用分類變量

我們還可以利用我們的一些分類變量來改善我們的視覺效果。例如,我們知道我們的數據對我們的鑽石有切工。 

我們可以做的是使用hue參數作為hue='cut'傳入該剪切類別這將使我們能夠通過更改顏色來可視化這些點。 

Python 相關性:創建視覺對象的指南

當然,我們可以添加更多參數,例如 alpha。我們可以再次添加它,設置為 0.2,看看它如何改變視覺效果。讓我們點擊運行,你可以看到一點點不同。 

Python 相關性:創建視覺對象的指南

我們可以使用參數來獲得我們正在尋找的視覺效果。我們還可以使用不同的類別,例如淨度,它為我們提供了淨度類別,也為我們提供了對該散佈略有不同的看法。

Python 相關性:創建視覺對象的指南

與其他變量的相關性

您可能還對除價格和克拉之外的其他值如何相關感興趣。因此,如果我們查看table的散點圖,它是該菱形和depth的數值維度 ,我們可以看到不存在一對一的線性關係。

Python 相關性:創建視覺對象的指南

我們還可以查看其他兩個變量,例如depthprice。根據圖表,我們可以看到數據集中在中間區域。

Python 相關性:創建視覺對象的指南

Python 相關性:創建回歸圖

讓我們前進到我們所謂的回歸圖,它允許我們評估兩個變量之間的線性關係。 

所以這次我們將使用regplot函數而不是散點圖函數。我們將傳遞相同的結構——我們的數據,然後是 X 和 Y 變量。 

Python 相關性:創建視覺對象的指南

結果顯示一條線,它衡量變量之間的線性關係。同樣明顯的是,我們的價值觀是如何圍繞這條回歸線循環的。

Python 相關性:創建視覺對象的指南

目前這不是一個非常漂亮的視覺效果,但我們仍然可以對其進行優化以獲得更好的視覺效果。例如,我們可以使用 Matplotlib 變量傳入樣式。我們可以使用代碼 plt.style.use('dark_background') 將樣式更改為深色背景 

Python 相關性:創建視覺對象的指南

採用相同的回歸圖並為我們的散點圖和直線傳遞一些關鍵字。讓我們為回歸線使用紅色和線寬 1。這寫成line_kws={“color” : “red”, 'linewidth' : 1)。 

對於我們的散點關鍵字,讓我們將顏色設置為白色,將邊緣顏色設置為灰色,並將不透明度設置為 0.4 以編寫為scatter_kws={“color” : “white”, 'edgecolor' : 'grey', 'alpha' : 0.4 ). 

Python 相關性:創建視覺對象的指南

這些參數為我們提供了一些不同的視圖,如下所示。 

Python 相關性:創建視覺對象的指南

Python 關聯:創建關聯矩陣

到目前為止,我們一直在看的是只有兩個變量的散點圖,但我們可能還想看看所有變量的相關性。

這是使用我們的數據集執行的,該數據集具有稱為相關性的數據框函數,表示為dataset.corr。我們將得到一個矩陣,它向我們展示了這些變量中每一個的相關性。 

Python 相關性:創建視覺對象的指南

上表中的數字代表皮爾遜相關係數,它側重於所有這些變量之間的線性關係。 

但是如果我們不確定我們的變量是否完全線性相關,我們可以使用不同類型的相關性,它比線性部分更關注影響。它被稱為Spearman 相關。 

Python 相關性:創建視覺對象的指南

我們可以通過按 Shift + Tab 來查看有關所有這些內容的信息。如果向下滾動,我們可以看到 Spearman 等級相關性、Pearson 相關係數以及許多不同的衡量數據的方法。 

Python 相關性:創建視覺對象的指南

回顧我們之前的相關矩陣,我們知道價格和克拉有很好的相關性。

Python 相關性:創建視覺對象的指南

它們來自我們此處的繪圖,顯示它們在 0.92 時非常線性。 

Python 相關性:創建視覺對象的指南

現在,如果我們改用 Spearman 相關性,影響或排名會更高一點,為 0.96。

Python 相關性:創建視覺對象的指南

這些不同類型的相關性使我們能夠獲得這些變量之間相關性的不同屬性。 

多 x 單變量相關

有時,我們不想看到矩陣,因為我們更關心所有變量與單獨一個變量(例如,價格)的相關性。

然後我們可以做的是使用dataset.corr後跟'price'來隔離價格。 

Python 相關性:創建視覺對象的指南

現在,我們可以看到價格與該表中所有不同的數值變量相關。我們可能想要這樣做的原因是為了視覺圖。 

因此,讓我們看一下使用熱圖可視化我們的相關矩陣。

Python 關聯:創建熱圖

我們可以使用函數sns.heatmap將這個相關變量傳遞到 Seaborn熱圖中

Python 相關性:創建視覺對象的指南

這將為我們提供如下所示的熱圖。

Python 相關性:創建視覺對象的指南

同樣,我們可以根據自己的喜好添加參數。我們可以傳入參數linewidths=1並使用annot=True添加註釋。 

Python 相關性:創建視覺對象的指南

你可以看到我們的熱圖現在看起來完全不同了。現在我們有一個非常好的熱圖。 

Python 相關性:創建視覺對象的指南

我們可以看到添加線條和註釋的用處。同樣,如果我們按下 Shift + Tab,所有可以進入的不同參數都會顯示出來。 

接下來,嘗試在我們的代碼中添加method='spearman ',這樣您就會知道如何根據您的用例使用不同類型的關聯。 

Python 相關性:創建視覺對象的指南

具有一個變量的熱圖

接下來,我們隔離一個變量並創建一個熱圖,其中相關性從負到正。

Python 相關性:創建視覺對象的指南

這將為我們提供下面的熱圖。

Python 相關性:創建視覺對象的指南

我們當然也可以改變樣式。例如,我們可以將cmap參數用作cmap='coolwarm'。這會將顏色更改為冷色和暖色,並且也會消除我們的黑色背景。 

Python 相關性:創建視覺對象的指南

如果我們點擊Run,我們將在下面得到這張熱圖。對於冷色,我們有藍色,然後對於暖色,我們有紅色條。 

Python 相關性:創建視覺對象的指南

我們還可以更改方向以將我們的地圖與顏色條對齊。這是通過編輯我們的sort_values參數並添加ascending=False來完成的。 

Python 相關性:創建視覺對象的指南

這將從最相關(紅色條)到最不相關(藍色條)。 

Python 相關性:創建視覺對象的指南

Python 關聯:創建階梯視覺

相關性的一種高級方法是使用掩碼來屏蔽我們已經完成的所有相關性。 

我們可以使用 Numpy 來做到這一點,使用一些 TRUE 和 FALSE 函數來為我們的相關性製作一個可視化的樓梯。 

Python 相關性:創建視覺對象的指南

結果應該是這樣的。

Python 相關性:創建視覺對象的指南

讓我們看看如何將其通過管道傳輸到 LuckyTemplates 中。

LuckyTemplates 中的樓梯可視化

首先,打開 LuckyTemplates。我引入了一個鱷梨數據集,這樣我們就可以看到不同的視覺效果。您可以在“字段”窗格下看到此數據集。通過單擊“可視化”窗格下的 Python 圖標來初始化Python視覺對象。

Python 相關性:創建視覺對象的指南

我們需要通過添加所有用?表示的數值變量來創建數據集。. 通過單擊這些變量旁邊的複選框來添加它們。 

Python 相關性:創建視覺對象的指南

現在我們有了一個數據集,我們可以轉到我們的 Jupyter notebook 並複制我們之前的這段代碼。

Python 相關性:創建視覺對象的指南

然後,我們將代碼複製到 LuckyTemplates 中的 Python 腳本編輯器。 

Python 相關性:創建視覺對象的指南

接下來,我們將選擇視覺效果,即樓梯視覺效果。我們將回到 Jupyter,複製我們用於樓梯視覺效果的代碼。

Python 相關性:創建視覺對象的指南

將代碼粘貼到 Python 腳本編輯器中。

Python 相關性:創建視覺對象的指南

最後要做的是確保我們使用的是plt.show,這在您的 Python 腳本中是必需的。在代碼的最後一行添加plt.show ,然後點擊腳本編輯器右上角的運行圖標。

Python 相關性:創建視覺對象的指南

為了獲得更大的視覺效果,將框拉伸一點,以便我們可以看到腳本在角落運行。我們有熱圖的視覺效果,看起來很不錯。

Python 相關性:創建視覺對象的指南

在 LuckyTemplates 中,我們絕對可以看到視覺效果如何根據數據集發生變化。例如,我們可以單擊“可視化”窗格中的“切片器”圖標,然後轉到“字段”窗格中的 “類型” 。

它將為我們提供數據集中的兩種類型,即conventionalorganic。如果我們單擊一種類型,比如organic,您可以看到熱圖發生變化。 

Python 相關性:創建視覺對象的指南

當我們接下來單擊常規類型時,更改也會應用。

Python 相關性:創建視覺對象的指南

請記住,我們需要在Python腳本的數據集中有一個分類變量才能使這些過濾器起作用。正如我們所見,我們創建的數據集包含type,使我們能夠以這種方式過濾視覺效果。 

Python 相關性:創建視覺對象的指南


在 Python 中的LuckyTemplates 文本分析中構建數據模型關係
| LuckyTemplates 數據報表中的 Python 腳本簡介

結論

在此博客中,您了解瞭如何使用 Pearson 相關性和 Spearman 等級相關性等不同方法在 Python 和 LuckyTemplates 中可視化相關性。 

現在,您可以創建散點圖、回歸圖、相關矩陣、熱圖和階梯視覺效果,以獲得數據集的最佳視覺效果。您還可以使用各種參數來改進樣式和視覺效果。 

一切順利,


什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的