Python 中的線性回歸

Python 中的線性回歸

在數據分析中,關鍵影響因素是對因變量有重大影響的變量。換句話說,它們是對感興趣的結果貢獻最大的因素。在 Python 中,線性回歸用於識別數據集中的關鍵影響因素,並衡量不同變量之間關係的強度和方向。您可以在本博客底部觀看本教程的完整視頻

識別關鍵影響因素對於理解數據集中的潛在關係和預測未來結果很有用。

Python庫提供了一系列工具和函數,用於執行回歸分析和識別數據集中的關鍵影響因素。

目錄

使用線性回歸模型

在本文中,我將展示如何使用線性回歸模型來模擬一些 LuckyTemplates 關鍵影響因素。我們的目標是使用我們所有的變量來描述另一個變量的變化。

LuckyTemplates 的關鍵影響因素是線性回歸模型。我們經常使用它,即使我們不確切知道引擎蓋下是什麼。在本教程中,我使用它來確定影響保險費用的因素。

Python 中的線性回歸

讓我們看一下保險費用的數據集。我希望通過吸煙者身份、性別、地區、兒童、BMI 和年齡來解釋這一點。

Python 中的線性回歸

目前,關鍵影響因素顯示最有影響力的變量。當吸煙者為是時,與吸煙者的所有其他值相比,平均費用高出 23,615 美元。

這是一個很棒的視覺效果,但它沒有給我們任何其他可能影響收費的變量。

Python 中的線性回歸

讓我們通過將下拉列表從Increase更改為Decrease來深入研究它。

這一次,情況恰恰相反。如果您不吸煙,則平均費用比吸煙者的所有其他值低 23,615 美元。

Python 中的線性回歸

如您所見,這是一個線性回歸模型,我使用一些 Python 代碼構建並以最少的條件格式將其傳輸到 LuckyTemplates 。

在編碼方面,我們可以完全控制它,您將看到我是如何構建它作為關鍵影響者視覺的替代或補充的。

Python 中的線性回歸

讓我們跳到木星筆記本。為了更好地理解,讓我逐部分解釋這些。

Python 中的線性回歸

使用的 Python 庫

第一部分是我加載所有我想使用的庫的地方。如果您不熟悉庫,它們就是開發人員為我們構建的代碼和函數的集合。

我將pandas 作為 pd導入,這是一個數據操作庫,將numpy 作為 np 導入,以允許我們進行線性計算和條件判斷。

使用型號

讓我們談談我使用的模型。我引入了sklearn.linear_model這是一個,並使用了線性回歸模型。為了以防萬一我們需要它,我還引入了sklearn.preprocessing import StandardScaler這將使我們能夠擴展數據。

我使用的另一個模型稱為xgboost import XGBRegressor。它是一個帶有決策樹和其他有用方面的回歸模型。

此外,我還使用了train_set_split,因為我希望能夠在訓練集和學習集之間拆分數據。在機器學習中,我們需要一組訓練數據供算法在進行任何預測之前進行學習。

我還引入了 mean_squared_error 來確定模型和matplotlib.pyplot庫,以防我們想要做一些視覺效果。

我們可能不會用到所有這些,但它可能會有幫助,所以我把它們都放在了裡面。

Python 中的線性回歸

使用的數據集

接下來,讓我們快速瀏覽一下數據集。我使用df = pd.read_csv函數引入保險數據集,然後使用df1 = pd.get_dummies (df, drop_first = True)將數據轉換為虛擬變量。

Python 中的線性回歸

為此,讓我們通過按鍵盤上的Esc + B創建一個新單元格,然後輸入df.head來評估數據。

我們將年齡、性別、BMI、兒童、吸煙者、地區和費用作為因變量進行預測。這些是未經機器學習準備的數據。

在機器學習中,我們將無法使用女性、男性、西南和西北等分類變量。 因此,如果它是一個典型的回歸模型,我們需要做的第一件事就是將分類變量轉換為數值輸入。 

Python 中的線性回歸

為此,我使用了pd.get_dummies函數,然後通過將df.head更改為df1.head將其更改為數字列。讓我們單擊“運行”按鈕以顯示它的外觀。

Python 中的線性回歸

我們現在可以看到這個新的列集合,例如sex_malesmoker_yesregion_northwest等等。該算法自動知道如果它是1 則表示是,0表示否。

值得注意的是,沒有sex_femaleregion_northeast,因為我們不想讓模型過於復雜。我們使用drop_first = True函數刪除了它們。

接下來我做的是引入LinearRegression函數並將其保存在變量模型中。 

我還創建了 X 和 Y 變量來預測我們的 Y 變量,然後使用我們之前使用的相同數據集為我們的預測變量引入所有其他列。

Python 中的線性回歸

對於 X 變量,我們使用df1.drop ('charges', axis=1)來降低電荷。另一方面,我們需要為 Y 變量充電,這就是我們放入df1['charges']的原因。

使用下面的函數,我使用train_test_split函數為 X 和 Y 創建了訓練集和測試集,並將它們傳遞給 X 和 Y 變量。

此外,我使用model.fit將訓練數據擬合到我們的模型中。這意味著線性回歸模型將學習訓練數據。 

Python 中的線性回歸

這一次,讓我們來看看我們的預測器。我們通過係數來看待這一點,因為它們描述了這些特徵或變量中的每一個如何影響電荷。

同樣值得注意的是,如果將smoker_yes的係數與我們的關鍵影響因素和模型中的係數進行比較,它的數量非常接近。 

為了創建一個包含特徵和係數的表,我使用pd.DataFrame將係數引入表中並創建視覺效果。

Python 中的線性回歸

Python 中的線性回歸

對關鍵影響因素視覺使用不同的模型

還建議使用不同的模型通過引入XGB.Regressor來獲得關鍵影響因素。 

當我們表示模型時,它只是一個簡單的線性回歸;但是當我們引入 XGB.Regressor 時,我們可以使用很多參數來優化模型。

Python 中的線性回歸

我在創建下面的數據框時也複製了這些函數。與我們在線性回歸中看到的相比,這些係數非常不同。

Python 中的線性回歸

使用此表,數字是準確的。例如,如果您是吸煙者,您的費用將增加 23,787 美元。如果你有一個孩子,它將增加 472 美元,依此類推。

Python 中的線性回歸

這些影響者也很重要,因為它們反映了我們在線性回歸表上的內容。它略有不同但非常接近,因為這些影響者加起來就是一個。這只是看待影響者的另一種方式。

Python 中的線性回歸

測試線性回歸分析的準確性

之後,我們想要查看模型的準確性,這就是我們使用y_pred = model.predict (X_test)的原因。它提出了一個預測,它會在 5885.7 之前關閉。 

這只是一組測試數據,預測的好壞還需要評估。我們現在不打算這樣做,因為我們只關注我們的關鍵影響者。 

Python 中的線性回歸

回到 LuckyTemplates,我將向您展示我是如何輕鬆實現這一目標的。這是一個單獨的表格,您可以在其中查看功能和影響者。 

Python 中的線性回歸

我通過轉到Transform data來做到這一點。

Python 中的線性回歸

然後,我複制了我的數據集並能夠創建此表。我們還可以轉到應用步驟查看Python代碼並查看我們使用的變量。

Python 中的線性回歸

讓我們通過雙擊 打開Python 腳本。

Python 中的線性回歸

我們帶來了我們的圖書館。我們將其轉換為機器學習、預處理數據集,這些數據集只是零和一。 

此外,我們引入了一個回歸模型,創建了 X 和 Y 來擬合數據,然後將表格保存為輸出。該模型足夠好,所以我沒有使用訓練測試集。

我做的另一件事是將數據集切換為df,因為它更容易編寫。數據集是原始數據的變量。

有了這張表,我將它保存為輸出,這就是我們擁有這些係數的原因。

Python 中的線性回歸

要將其作為視覺效果,請單擊“關閉並應用”

Python 中的線性回歸

我們現在有一個條形圖。我還使用條件格式來顯示正面和負面。

Python 中的線性回歸


如何在 LuckyTemplates 中安裝 DAX Studio 和表格編輯器
在 LuckyTemplates 中配置查詢設置 DAX Studio
LuckyTemplates 參數通過查詢編輯器

結論

總之,了解關鍵影響因素並在 Python 中實現線性回歸可以成為數據分析和預測的強大工具。

通過確定影響因變量的關鍵因素並使用線性回歸來模擬它們之間的關係,我們可以更好地理解和預測未來的結果

通過使用 Python 強大的庫,可以輕鬆實現線性回歸併從數據中提取有意義的見解

一切順利,


在 Power Automate 中執行直到循環控制

在 Power Automate 中執行直到循環控制

了解有關 Do Until 循環控制如何在 Power Automate 流中工作的基礎過程,並熟悉所需的變量。

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

受限於 LuckyTemplates 中提供的標準視覺效果?學習使用 Deneb 和 Vega-Lite 為 LuckyTemplates 創建自定義視覺對象,提升您的數據可視化能力。

在 Power Automate Desktop 中將日期添加到文件名

在 Power Automate Desktop 中將日期添加到文件名

在此博客中,您將了解如何使用 Power Automate Desktop 自動將日期添加到文件名的開頭或結尾。

Power Query:如何快速添加註釋

Power Query:如何快速添加註釋

找出幾種不同的方法在 Power Query 中添加註釋,這對於不喜歡記筆記的人非常有幫助。

Power Apps – SharePoint 集成指南

Power Apps – SharePoint 集成指南

在此博客中,您將了解 MS Power Apps 界面的基礎知識並了解 Power Apps-SharePoint 集成的過程。

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

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

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

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

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

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

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

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

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

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

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

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

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

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