Python实战开发及案例分析(18)—— 逻辑回归

        逻辑回归是一种广泛用于分类任务的统计模型,尤其是用于二分类问题。在逻辑回归中,我们预测的是观测值属于某个类别的概率,这通过逻辑函数(或称sigmoid函数)来实现,该函数能将任意值压缩到0和1之间。

逻辑回归的基本原理

        逻辑回归模型的输出是通过逻辑函数转换的线性方程的结果,公式如下:

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        p=\frac{1}{1+e^{-(b_{0}+b_{1}x)}}

其中:

  • 𝑝是给定观测属于正类的概率。
  • 𝑏0,𝑏1​ 等是模型参数。
  • 𝑥 是输入特征。

        模型通过最大化似然函数(或等价地最小化成本函数,如交叉熵损失)来学习参数。

Python 实现逻辑回归

        在Python中,我们可以使用scikit-learn库中的LogisticRegression类来实现逻辑回归模型。以下是一个具体案例,展示了如何使用逻辑回归来分类鸢尾花数据集中的花朵类型。

案例分析:鸢尾花数据集分类
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report, confusion_matrix

# 加载数据
data = load_iris()
X = data.data
y = data.target

# 划分训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 创建逻辑回归模型
model = LogisticRegression(max_iter=200)  # 增加迭代次数以确保收敛
model.fit(X_train, y_train)

# 进行预测
predictions = model.predict(X_test)

# 输出性能评估
print("Classification Report:")
print(classification_report(y_test, predictions))

print("Confusion Matrix:")
print(confusion_matrix(y_test, predictions))

        这段代码首先加载了鸢尾花数据集,这是一个包含150个样本的多分类数据集,每个样本有4个特征和3种可能的输出类别。代码接着将数据分为训练集和测试集,然后创建了一个逻辑回归模型,训练这个模型,并在测试集上进行预测。最后,代码打印了分类报告和混淆矩阵,以评估模型性能。

高级应用:正则化

        在逻辑回归中,为了防止过拟合,通常会加入正则化项。scikit-learnLogisticRegression默认使用L2正则化。可以通过调整C参数(正则化强度的倒数)来控制正则化的程度。

# 创建带L2正则
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

贾贾乾杯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值