机器学习回归分析系列2-二项回归模型

04 二项回归模型

4.1 简介

二项回归模型用于处理二元响应变量,即因变量是0或1的分类变量。最常见的二项回归模型是逻辑回归,它可以用来预测事件发生的概率。

逻辑回归模型假设:

\text{logit}(p) = \log\left(\frac{p}{1-p}\right) = \beta_0 + \beta_1 x_1 + \beta_2 x_2 + \dots + \beta_p x_p

其中,p 是事件发生的概率,x1,x2,…,xp是自变量。

4.2 拟合逻辑回归模型

在Python中,我们可以使用statsmodelsscikit-learn库来拟合逻辑回归模型。下面是使用statsmodels的示例:

import statsmodels.api as sm
import numpy as np
import pandas as pd

# 生成模拟数据
np.random.seed(0)
X = np.random.rand(100, 2)
y = (X[:, 0] + X[:, 1] + np.random.randn(100) > 1.5).astype(int)  # 因变量

# 添加截距项
X = sm.add_constant(X)

# 拟合逻辑回归模型
logit_model = sm.Logit(y, X).fit()

# 输出回归结果
print(logit_model.summary())
4.3 解释逻辑回归系数

逻辑回归模型的系数表示对数几率的变化。具体来说,每个系数 βj\beta_jβj​ 表示自变量 xjx_jxj​ 每增加一个单位时,对数几率\log\left(\frac{p}{1-p}\right)的变化量。

在实际应用中,我们通常关心自变量对事件发生概率 ppp 的影响,这可以通过对数几率的逆函数来计算:

p = \frac{1}{1 + \exp(-(\beta_0 + \beta_1 x_1 + \dots + \beta_p x_p))}

4.4 模型诊断与检验

与线性回归类似,逻辑回归模型也需要进行诊断和检验。常用的方法包括似然比检验、AIC、BIC等。我们可以通过以下代码来获取这些信息:

# 获取AIC和BIC
aic = logit_model.aic
bic = logit_model.bic

print(f"AIC: {aic}")
print(f"BIC: {bic}")
4.5 分类阈值与预测

逻辑回归模型通常输出的是事件发生的概率,但在实际应用中,我们需要将这些概率转换为分类标签(0或1)。这通常通过设定一个分类阈值来实现,例如0.5:

# 预测概率
y_pred_prob = logit_model.predict(X)

# 根据阈值进行分类
threshold = 0.5
y_pred = (y_pred_prob > threshold).astype(int)

print(y_pred)
4.6 示例:学生录取数据

接下来,我们通过一个具体的例子来应用逻辑回归模型。假设我们有一个数据集,记录了100名学生的GRE分数、GPA以及是否被某个大学录取的信息。我们可以使用逻辑回归模型来预测学生是否会被录取。

# 生成模拟数据
data = pd.DataFrame({
    'GRE': np.random.normal(300, 15, 100),
    'GPA': np.random.normal(3.5, 0.3, 100),
    'admitted': np.random.choice([0, 1], size=100)
})

# 定义自变量和因变量
X = data[['GRE', 'GPA']]
y = data['admitted']

# 添加截距项
X = sm.add_constant(X)

# 拟合逻辑回归模型
logit_model = sm.Logit(y, X).fit()

# 输出回归结果
print(logit_model.summary())

# 预测录取概率
y_pred_prob = logit_model.predict(X)

# 根据0.5的阈值进行分类
y_pred = (y_pred_prob > 0.5).astype(int)

print(y_pred)

通过这个例子,我们可以看到逻辑回归模型如何用于二分类问题,并且如何解释和应用模型的输出结果。

  • 20
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值