如何使用邏輯迴歸進行迴歸


邏輯迴歸是一種在機器學習中非常常用的分類演算法。它是最簡單、最高效的分類演算法之一,幾乎在每個為分類問題構建的模型中都會嘗試使用。但是,我們也可以使用邏輯迴歸來解決迴歸問題,儘管在這種情況下,我們不能期望模型具有很高的準確性和可靠性。

在本文中,我們將討論邏輯迴歸,如何將其用於迴歸問題,需要哪些步驟以及相應的程式碼示例。本文將幫助讀者瞭解邏輯迴歸在迴歸問題中的行為,並能夠回答相關的面試問題。

關於邏輯迴歸

邏輯迴歸是一種機器學習演算法,其工作原理基於感知器技巧程式碼。在這裡,類似於線性迴歸,繪製一條直線或迴歸線,它基本上將目標變數(即分類變數)的類別或分類分開。

儘管我們稱之為邏輯迴歸而不是分類,因為它與線性迴歸演算法的工作方式幾乎相同,因此稱之為迴歸而不是分類。線性迴歸和邏輯迴歸之間的關鍵區別在於,邏輯迴歸中僅使用 sigmoid 函式對觀測值進行分類並在最後給出輸出。

因此,將邏輯迴歸稱為迴歸並無害處,因為該演算法的工作機制與線性迴歸幾乎相同,並且獲得的直線與線性迴歸相同。

使用邏輯迴歸進行迴歸

眾所周知,邏輯迴歸的工作方式與線性迴歸幾乎相同,它只是使用 sigmoid 函式將類別的機率轉換為 0 到 1 之間。但我們也可以將邏輯迴歸用於迴歸問題,因為最終它只在線性迴歸一樣的工作。

儘管在此,模型的效能不會像其他著名的迴歸演算法那樣好,並且模型的可靠性也不會那麼高,但我們仍然可以嘗試使用邏輯迴歸進行實驗。

將邏輯迴歸用於迴歸問題基本上有兩個主要要求。

修改輸出

眾所周知,邏輯迴歸使用 sigmoid 函式作為邏輯函式,它將輸出值轉換為 0 到 1 之間,以瞭解二元類的機率。在這裡,為了將其用作迴歸模型,我們可以透過將其乘以任何型別的縮放因子來將輸出轉換為連續值。

因此,基本上,我們不能直接使用 sigmoid 函式來獲取輸出;我們必須修改輸出,使其成為連續變數而不是分類變數。

更改損失函式

現在,由於我們轉向了迴歸問題,因此我們必須使用基於迴歸的損失函式,而不是分類損失函式,例如準確率得分、精確率得分、召回率得分等。在這種情況下,我們可以使用 r2 分數、均方誤差、RMSE 分數等。

請注意,如果不更改模型的損失函式,則會獲得非常低或負的準確率或分類得分,因為模型已轉換為迴歸模型,並且正在使用分類損失函式。

程式碼示例

現在,我們知道不能使用分類演算法來解決迴歸問題,因此從技術上講,邏輯迴歸不能用於迴歸問題,因為它僅設計用於分類問題。但是,如果我們想要,我們可以對這裡的連續變數進行分箱,以使其看起來像類別。

基本上,我們可以獲取連續變數並將其劃分為一個分箱,其中特定連續變數的值將被視為單個分箱,這將成為邏輯迴歸的單個類別。

現在,這些值將提供給邏輯迴歸模型,並且模型將在其上執行。但是,最不建議這樣做,因為有很多回歸演算法在迴歸問題上的效能要比邏輯迴歸好得多。

這是一個程式碼示例,其中我們有一個連續變數作為目標變數,並且透過對目標變數執行分箱操作將其轉換為分類變數。

示例

import numpy as np
from sklearn.linear_model import LogisticRegression

# Create a dummy dataset with one feature and a target variable
X = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([10, 15, 20, 25, 30, 35, 40, 45])

# Bin the target variable into multiple categories
bins = np.array([0, 20, 40, 60])
y_cat = np.digitize(y, bins)

# Create a logistic regression object and fit the data
lr = LogisticRegression()
lr.fit(X.reshape(-1, 1), y_cat)

# Predict the target variable for new data points
X_new = np.array([9, 10]).reshape(-1, 1)
y_pred = lr.predict(X_new)
 
# Convert the predicted categories back into continuous values
y_pred_continuous = (np.take(bins, y_pred) + np.take(bins, y_pred - 1))/2
print(y_pred_continuous)

輸出

[50. 50.]

關鍵要點

  • 邏輯迴歸是一種分類演算法,主要用於二元分類問題。

  • 它被稱為邏輯迴歸,因為該演算法的工作方式與線性迴歸幾乎相同。

  • 我們可以透過修改模型的輸出和損失函式將邏輯迴歸用作迴歸模型。

  • 我們可以透過對目標變數執行分箱或二值化操作來轉換模型的輸出。

  • 如果我們想將邏輯迴歸用於迴歸問題,則可以使用 r2 分數、均方誤差和 RMSE 分數等損失函式。

結論

在本文中,我們討論了邏輯迴歸,如何將其用作迴歸模型,需要哪些步驟以及如何透過程式碼示例執行相同的操作。本文將幫助讀者瞭解邏輯迴歸在迴歸問題上的工作原理,並能夠理解和分析其在迴歸資料集上的效能。

更新於: 2023年8月17日

173 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.