如何使用逻辑回归进行回归
逻辑回归是一种在机器学习中非常常用的分类算法。它是最简单、最高效的分类算法之一,几乎在每个为分类问题构建的模型中都会尝试使用。但是,我们也可以使用逻辑回归来解决回归问题,尽管在这种情况下,我们不能期望模型具有很高的准确性和可靠性。
在本文中,我们将讨论逻辑回归,如何将其用于回归问题,需要哪些步骤以及相应的代码示例。本文将帮助读者了解逻辑回归在回归问题中的行为,并能够回答相关的面试问题。
关于逻辑回归
逻辑回归是一种机器学习算法,其工作原理基于感知器技巧代码。在这里,类似于线性回归,绘制一条直线或回归线,它基本上将目标变量(即分类变量)的类别或分类分开。
尽管我们称之为逻辑回归而不是分类,因为它与线性回归算法的工作方式几乎相同,因此称之为回归而不是分类。线性回归和逻辑回归之间的关键区别在于,逻辑回归中仅使用 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 分数等损失函数。
结论
在本文中,我们讨论了逻辑回归,如何将其用作回归模型,需要哪些步骤以及如何通过代码示例执行相同的操作。本文将帮助读者了解逻辑回归在回归问题上的工作原理,并能够理解和分析其在回归数据集上的性能。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP