机器学习 如何将逻辑回归用于回归

机器学习 如何将逻辑回归用于回归

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

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

关于逻辑回归

逻辑回归是一种机器学习算法,其工作原理类似于感知器算法。在这里,与线性回归类似,绘制一条直线或回归线,该直线基本上分离了目标变量的类别或分类变量。

虽然我们称之为逻辑回归而不是分类,因为它的工作原理几乎与线性回归算法相同,因此它被称为回归而不是分类。线性回归和逻辑回归之间的关键区别在于逻辑回归中只使用了sigmoid函数对观察结果进行分类并在最后给出输出。

因此,将逻辑回归称为回归没有任何问题,因为算法的工作机制几乎与线性回归相同,并且得到的线性方程也与线性回归相同。

将逻辑回归用于回归

正如我们知道逻辑回归与线性回归几乎相同,只是使用sigmoid函数将类别的概率转换为0到1之间的值。但是我们也可以将逻辑回归用于回归问题,因为最终它仍然是基于线性回归的方法。

虽然在这种情况下,模型的性能不会像其他众所周知的回归算法那样好,模型不会特别可靠,但我们仍然可以尝试使用逻辑回归进行实验。

使用逻辑回归进行回归问题有两个基本要求:

修改输出

正如我们知道逻辑回归使用sigmoid函数作为逻辑函数,将输出的值转换为0到1之间的值,以了解二进制类别的概率。在这里,为了将其用作回归模型,我们可以通过乘以任何类型的缩放因子将输出转换为连续值。

所以基本上我们不能直接使用sigmoid函数来得到输出,我们必须修改输出,使其成为连续变量而不是分类变量。

更改损失函数

现在,我们已经转向回归问题,我们必须使用基于回归的损失函数,而不是像准确率、精确率、召回率等分类损失函数。我们可以在这种情况下使用r2 score、均方误差、RMSE score等。

请注意,如果不更改模型的损失函数,将得到非常低或负数的准确率或分类分数,因为模型已转换为回归模型并使用了分类损失函数。

代码示例

现在我们知道无法使用分类算法来解决回归问题,因此从技术上讲,逻辑回归不能用于回归问题,因为它仅设计用于分类问题。然而,如果我们想要的话,我们可以将连续变量分组,使它们看起来像类别。

基本上,我们可以将连续变量分为一个区间,其中特定连续变量的值被视为一个单独的区间,这将成为逻辑回归的一个单独的类别。

现在这些值将被提供给逻辑回归模型,并且模型将在其上进行计算。然而,鉴于有很多回归算法在回归问题上表现得比逻辑回归更好,强烈建议不要这样做。

下面是一个代码示例,其中目标变量是连续变量,并通过对其执行分组操作将其转换为分类变量。

示例

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评分等损失函数。

结论

在本文中,我们讨论了逻辑回归,如何将其用作回归模型,需要哪些步骤以及如何通过代码示例执行相同操作。本文将帮助人们理解逻辑回归在回归问题上的工作原理,并能够理解和分析其在回归数据集上的性能。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程