如何使用逻辑回归进行回归


逻辑回归是一种在机器学习中非常常用的分类算法。它是最简单、最高效的分类算法之一,几乎在每个为分类问题构建的模型中都会尝试使用。但是,我们也可以使用逻辑回归来解决回归问题,尽管在这种情况下,我们不能期望模型具有很高的准确性和可靠性。

在本文中,我们将讨论逻辑回归,如何将其用于回归问题,需要哪些步骤以及相应的代码示例。本文将帮助读者了解逻辑回归在回归问题中的行为,并能够回答相关的面试问题。

关于逻辑回归

逻辑回归是一种机器学习算法,其工作原理基于感知器技巧代码。在这里,类似于线性回归,绘制一条直线或回归线,它基本上将目标变量(即分类变量)的类别或分类分开。

尽管我们称之为逻辑回归而不是分类,因为它与线性回归算法的工作方式几乎相同,因此称之为回归而不是分类。线性回归和逻辑回归之间的关键区别在于,逻辑回归中仅使用 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.