在 Python 中執行邏輯迴歸

Preet Sanghavi 2022年5月17日
在 Python 中執行邏輯迴歸

以下教程演示瞭如何在 Python 上執行邏輯迴歸。

讓我們下載一個示例資料集以開始使用。我們將使用一個包含使用者性別、年齡和薪水資訊的使用者資料集,並預測使用者最終是否會購買該產品。

看看我們的資料集。

資料集

我們現在將通過匯入相關的庫開始建立我們的模型,例如 pandasnumpymatplotlib

在 Python 中執行邏輯迴歸

匯入相關庫:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

讓我們使用 pandas 匯入我們的資料集。

讀取資料集:

dataset = pd.read_csv('log_data.csv')

我們現在將從我們的資料集中選擇年齡估計工資特徵來訓練我們的模型來預測使用者是否購買產品。在這裡,genderuser id 不會在預測中發揮重要作用;我們在訓練過程中忽略了它們。

x = dataset.iloc[:, [2, 3]].values
y = dataset.iloc[:, 4].values

讓我們將資料集拆分為訓練和測試資料。我們將它們分成 75% 用於訓練模型,其餘 25% 用於測試模型的效能。

我們使用 sklearn 庫中的 train_test_split 函式來執行此操作。

from sklearn.model_selection import train_test_split
xtrain, xtest, ytrain, ytest = train_test_split(
		x, y, test_size = 0.25, random_state = 0)

我們執行特徵縮放過程,因為 AgeSalary 特徵位於不同的範圍內。這是必不可少的,因為一個特徵可以在避免訓練過程的同時支配另一個特徵。

from sklearn.preprocessing import StandardScaler
sc_x = StandardScaler()
xtrain = sc_x.fit_transform(xtrain)
xtest = sc_x.transform(xtest)

這兩個特徵都在 -1 到 1 的範圍內,這將確保這兩個特徵對決策(即預測過程)做出同等貢獻。讓我們來看看更新的功能。

print (xtrain[0:10, :])
[[ 0.58164944 -0.88670699]
 [-0.60673761  1.46173768]
 [-0.01254409 -0.5677824 ]
 [-0.60673761  1.89663484]
 [ 1.37390747 -1.40858358]
 [ 1.47293972  0.99784738]
 [ 0.08648817 -0.79972756]
 [-0.01254409 -0.24885782]
 [-0.21060859 -0.5677824 ]
 [-0.21060859 -0.19087153]]

最後讓我們訓練我們的模型;在我們的例子中,我們將使用從 sklearn 庫匯入的邏輯迴歸模型。

from sklearn.linear_model import LogisticRegression
classifier1 = LogisticRegression(random_state = 0)
classifier1.fit(xtrain, ytrain)

由於我們現在已經訓練了我們的模型,讓我們對我們的測試資料進行預測以評估我們的模型。

y_pred = classifier1.predict(xtest)

現在讓我們根據我們的測試資料和我們在上一個過程中獲得的預測建立一個混淆矩陣。

from sklearn.metrics import confusion_matrix
cm = confusion_matrix(ytest, y_pred)

print ("Confusion Matrix : \n", cm)
Confusion Matrix :
 [[65  3]
 [ 8 24]]

讓我們使用 sklearn 庫計算模型的準確性。

from sklearn.metrics import accuracy_score
print ("Accuracy score : ", accuracy_score(ytest, y_pred))
Accuracy score :  0.89

我們的模型獲得了令人滿意的準確度得分 0.89,這表明我們的模型可以很好地預測使用者是否會購買產品。

因此,我們可以通過上述方法使用 Python 成功執行邏輯迴歸。

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

相關文章 - Python Math