在 Python 中執行邏輯迴歸
Preet Sanghavi
2024年2月15日
以下教程演示瞭如何在 Python 上執行邏輯迴歸。
讓我們下載一個示例資料集以開始使用。我們將使用一個包含使用者性別、年齡和薪水資訊的使用者資料集,並預測使用者最終是否會購買該產品。
看看我們的資料集。
我們現在將通過匯入相關的庫開始建立我們的模型,例如 pandas
、numpy
和 matplotlib
。
在 Python 中執行邏輯迴歸
匯入相關庫:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
讓我們使用 pandas
匯入我們的資料集。
讀取資料集:
dataset = pd.read_csv("log_data.csv")
我們現在將從我們的資料集中選擇年齡
和估計工資
特徵來訓練我們的模型來預測使用者是否購買產品。在這裡,gender
和 user 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)
我們執行特徵縮放過程,因為 Age
和 Salary
特徵位於不同的範圍內。這是必不可少的,因為一個特徵可以在避免訓練過程的同時支配另一個特徵。
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