线性回归和逻辑回归的区别是什么?

当我们必须预测分类(或离散)结果的值时,我们使用逻辑回归。我相信我们使用线性回归来预测给定输入值的结果值。

那么,这两种方法有什么不同呢?

293939 次浏览

在线性回归中,结果(因变量)是连续的。它可以有无限个可能值中的任意一个。在逻辑回归中,结果(因变量)只有有限数量的可能值。

例如,如果X包含以平方英尺为单位的房屋面积,而Y包含这些房屋的相应销售价格,您可以使用线性回归来预测销售价格作为房屋大小的函数。虽然可能的销售价格可能实际上不是任何,有这么多可能的值,线性回归模型将被选择。

相反,如果你想根据房子的大小来预测房子是否会卖到20万美元以上,你会使用逻辑回归。可能的输出是Yes,房子将以超过20万美元的价格出售,或者No,房子不会。

  • < p > 线性回归输出为概率

    使用线性回归输出作为概率是很诱人的,但这是一个错误,因为输出可以是负的,并且大于1,而概率不能。回归可能会 产生可能小于0,甚至大于的概率 1、引入逻辑回归。< / p >

    来源:http://gerardnico.com/wiki/data_mining/simple_logistic_regression

    enter image description here < / p >

  • < p > 结果

    在线性回归中,结果(因变量)是连续的。 它可以有无限个可能值中的任意一个。< / p >

    在逻辑回归中,结果(因变量)只有有限数量的可能值。< / p >

  • < p > 因变量

    当响应变量本质上是分类变量时,使用逻辑回归。例如,是/否,真/假,红/绿/蓝, 第1 /2 /3 /4,等等

    线性回归用于响应变量连续的情况。例如,体重,身高,小时数等

  • < p > 方程

    线性回归给出了一个方程,形式为Y = mX + C, 表示阶为1的方程。< / p > 然而,逻辑回归给出的方程是这样的形式 Y = eX + e- x

  • < p > 系数的解释

    在线性回归中,自变量的系数解释是相当直接的(即保持所有其他变量不变,该变量增加一个单位,因变量预计增加/减少xxx)。

    然而,在逻辑回归中,取决于家族(二项,泊松, 等等)和link (log, logit, inverse-log,等等)你所使用的,解释是不同的。李< / p > < / >

  • < p > 误差最小化技术

    线性回归使用普通最小二乘方法来最小化 误差和到达一个最佳的可能拟合,而逻辑回归

    .使用最大似然方法得到解决方案

    线性回归通常通过最小化模型对数据的最小二乘误差来解决,因此较大的误差将被二次惩罚。

    逻辑回归正好相反。使用逻辑损失函数导致较大的误差被惩罚到一个渐近常数。

    考虑分类{0,1}结果的线性回归,看看为什么这是一个问题。如果你的模型预测的结果是38,当事实是1时,你没有损失什么。线性回归将试图减少38,逻辑逻辑不会(那么多)2 < a href = " https://stats.stackexchange.com/a/29340 " > < / >.

简单地说,线性回归是一种回归算法,它输出一个可能连续和无限的值;逻辑回归被认为是一种二进制分类器算法,它输出输入属于标签(0或1)的“概率”。

基本区别:

线性回归基本上是一个回归模型,这意味着它将给出一个函数的非离散/连续输出。这个方法给出了值。例如,给定x, f(x)是多少

例如,给定一个由不同因素组成的训练集和训练后的房地产价格,我们可以提供所需的因素来确定房地产价格。

逻辑回归基本上是一种二元分类算法,这意味着这里函数的输出值是离散的。例如:对于给定的x,如果f(x)>阈值将其分类为1,否则将其分类为0。

例如,给定一组脑瘤大小作为训练数据,我们可以使用大小作为输入来确定它是良性肿瘤还是恶性肿瘤。因此这里的输出不是0就是1。

这里的函数基本上是假设函数

它们在解决解决方案方面非常相似,但正如其他人所说,一个(逻辑回归)是用于预测类别“适合”(Y/N或1/0),另一个(线性回归)是用于预测值。

所以如果你想预测你是否有癌症Y/N(或概率)-使用逻辑。如果你想知道你能活多少年,用线性回归吧!

< p >简而言之: 线性回归给出连续的输出。即在一个值范围内的任何值。 逻辑回归给出离散的输出。即Yes/No, 0/1类型的输出

只是补充一下之前的答案。

线性回归

是为了解决预测/估计给定元素X(例如f(X))的输出值的问题。预测的结果是一个连续函数,其值可能是正的,也可能是负的。在这种情况下,通常有一个包含大量例子的输入数据集,以及每个例子的输出值。目标是能够适合此数据集的模型,以便您能够预测新的不同/从未见过的元素的输出。以下是拟合直线到点集的经典示例,但一般线性回归可用于拟合更复杂的模型(使用更高的多项式阶):

enter image description here

解决问题

线性回归有两种不同的求解方法:

  1. 法方程(直接解题方法)
  2. 梯度下降(迭代法)

逻辑回归

旨在解决分类问题,其中给定一个元素,您必须将其分类为N个类别。典型的例子是,例如,给定一封邮件,将其分类为垃圾邮件,或者给定一辆车辆,查找它属于哪个类别(汽车、卡车、货车等)。基本上输出是一组有限的离散值。

解决问题

逻辑回归问题只能通过梯度下降来解决。一般来说,公式与线性回归非常相似,唯一的区别是使用不同的假设函数。在线性回归中,假设的形式为:

h(x) = theta_0 + theta_1*x_1 + theta_2*x_2 ..

其中是我们试图拟合的模型[1,x_1, x_2, ..]为输入向量。在逻辑回归中,假设函数是不同的:

g(x) = 1 / (1 + e^-x)

enter image description here

这个函数有一个很好的属性,基本上它将任何值映射到范围[0,1],这适用于在分类过程中处理概率。例如,在二元分类的情况下,g(X)可以解释为属于正类的概率。在这种情况下,通常有不同的类,用决定边界分隔,基本上是曲线决定不同类之间的分离。下面是一个划分为两个类的数据集的例子。

enter image description here

  1. 你也可以使用下面的代码生成线性回归 曲线 Q_df = details_df # q_df = pd.get_dummies(q_df)

    q_df = pd.get_dummies(q_df, columns=[
    "1",
    "2",
    "3",
    "4",
    "5",
    "6",
    "7",
    "8",
    "9"
    ])
    
    
    q_1_df = q_df["1"]
    q_df = q_df.drop(["2", "3", "4", "5"], axis=1)
    
    
    (import statsmodels.api as sm)
    
    
    x = sm.add_constant(q_df)
    train_x, test_x, train_y, test_y =    sklearn.model_selection.train_test_split(
    x, q3_rechange_delay_df, test_size=0.2, random_state=123 )
    

    Lmod = sm。OLS(train_y, train_x).fit() lmod.summary()

    lmod.predict () [10]

    .summary_frame lmod.get_prediction () () [10]

    sm.qqplot(lmod.resid,line="q") plt.title("Q-Q plot of standardization Residuals") plt.show () < / p >

非常同意以上的评论。 在此之上,还有更多的差异,如

在线性回归中,残差被假设为正态分布。 在逻辑回归中,残差需要是独立的,但不是正态分布。< / p > 线性回归假设解释变量值的恒定变化导致响应变量的恒定变化。 如果响应变量的值表示概率(在逻辑回归中)

,则此假设不成立

广义线性模型(GLM)不假设因变量和自变量之间存在线性关系。但在logit模型中,它假设link函数与自变量之间是线性关系。

简单地说,如果在线性回归模型中有更多的测试用例到达,这些测试用例远离预测y=1和y=0的阈值(例如=0.5)。在这种情况下,假设就会改变,变得更糟。因此,线性回归模型不适用于分类问题。

另一个问题是,如果分类是y=0和y=1, h(x)可以是> 1或<0.所以我们用Logistic回归得到0<=h(x)<=1。

| Basis                                                           | Linear                                                                         | Logistic                                                                                                            |
|-----------------------------------------------------------------|--------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------|
| Basic                                                           | The data is modelled using a straight line.                                    | The probability of some obtained event is represented as a linear function of a combination of predictor variables. |
| Linear relationship between dependent and independent variables | Is required                                                                    | Not required                                                                                                        |
| The independent variable                                        | Could be correlated with each other. (Specially in multiple linear regression) | Should not be correlated with each other (no multicollinearity exist).                                              |

逻辑回归用于预测分类输出,如是/否,低/中/高等。你基本上有2种类型的逻辑回归二元逻辑回归(是/否,批准/不批准)或多类逻辑回归(低/中/高,0-9等数字)

另一方面,线性回归是当你的因变量(y)是连续的。 Y = mx + c是一个简单的线性回归方程(m =斜率,c是Y截距)。多元线性回归有不止一个自变量(x1,x2,x3,…)等)< / p >
回归表示连续变量,线性表示y和x之间存在线性关系。 Ex=你试图从多年的工作经验来预测薪水。这里工资是自变量y,工作年限是因变量x。 y = b0 + b1 * x1 线性回归 我们正在寻找常数b0和b1的最优值,这将为我们提供您的观测数据的最佳拟合线。 它是一个直线方程,给出从x=0到非常大的连续值。 这条线被称为线性回归模型

逻辑回归是一种分类技术。不要被术语回归所误导。这里我们预测y=0还是1。

在这里,我们首先需要从下面的公式中找出给定x的p(y=1) (y=1的w概率)。

 probb

概率p通过下面的公式与y相关

s

Ex=我们可以将患癌几率超过50%的肿瘤分类为1,将患癌几率低于50%的肿瘤分类为0。 5 < / p >

这里红点被预测为0,而绿点被预测为1。

在线性回归中,结果是连续的,而在逻辑回归中,结果只有有限数量的可能值(离散的)。

< p >的例子: 在一种情况下,x的给定值是一个地块的平方英尺大小,然后预测y的比率是在线性回归下。< / p >

相反,如果你想根据面积预测地块是否会以超过30万卢比的价格出售,你将使用逻辑回归。可能的输出是Yes,该地块的售价将超过30万卢比,或者No。

在线性回归的情况下,结果是连续的,而在逻辑回归的情况下,结果是离散的(非连续的)

要执行线性回归,我们需要因变量和自变量之间的线性关系。但要执行逻辑回归,我们不需要因变量和自变量之间的线性关系。

线性回归是在数据中拟合一条直线,而逻辑回归是在数据中拟合一条曲线。

线性回归是机器学习的一种回归算法,逻辑回归是机器学习的一种分类算法。

线性回归假设因变量呈高斯(或正态)分布。逻辑回归假设因变量为二项分布。

线性回归和逻辑回归的基本区别是: 线性回归用于预测一个连续的或数值,但当我们寻找预测一个分类的值时,逻辑回归就出现了。

二元分类采用逻辑回归。