• 【机器学习】有监督学习算法之:逻辑回归


    1、引言

    小屌丝:鱼哥,鱼哥,求助
    小鱼:咋了。
    小屌丝:我被逻辑回归难住了。
    小鱼:然后你可以网上搜索一下
    小屌丝:搜索的没有问你直接啊
    小鱼:我…xxx
    小屌丝:给我讲一讲呗。
    小鱼:ε=(´ο`*)))唉… 好吧,正好现在也没啥事。
    在这里插入图片描述

    2、逻辑回归

    2.1 定义

    逻辑回归是一种基于概率的分类算法,用于预测二分类问题。它采用逻辑函数将线性回归模型的输出映射到0和1之间的概率值。

    2.2 基本原理

    逻辑回归通过将线性回归的输出值通过逻辑函数(也称为sigmoid函数)进行映射,将连续的预测值转换为概率值。逻辑函数的公式如下:

    sigmoid(x) = 1 / (1 + e^(-x))
    
    • 1

    2.3 公式

    2.3.1 核心公式

    逻辑回归的模型可以用以下公式表示:

    h(x) = sigmoid(W^T * X)
    
    • 1

    其中,h(x)表示预测概率值,W表示权重向量,X表示输入特征向量。我们需要通过训练过程来学习最佳的权重向量W。

    这里 Sigmoid函数转换

    2.3.2 Sigmoid函数

    Sigmoid函数是一种常用的非线性函数,其转换作用是将输入映射到一个范围在0到1之间的值。Sigmoid函数的表达式为:

    y = 1 / (1 + e^(-x))
    
    • 1

    其中,e是自然常数,x是输入数据,y是输出数据。

    2.4 代码示例

    
    # -*- coding:utf-8 -*-
    # @Time   : 2024-02-25
    # @Author : Carl_DJ
    
    '''
    实现功能:
    	生成分类数据集
    	
    '''
    
    import numpy as np
    import matplotlib.pyplot as plt
    from sklearn.linear_model import LogisticRegression
    from sklearn.datasets import make_classification
    
    # 生成分类数据集
    X, y = make_classification(n_samples=1000, n_features=2, n_informative=2, n_redundant=0,
                               n_clusters_per_class=1, random_state=42)
    
    # 创建逻辑回归分类器
    logreg = LogisticRegression()
    
    # 使用数据集训练模型
    logreg.fit(X, y)
    
    # 绘制数据点和决策边界
    plt.figure(figsize=(8, 6))
    plt.scatter(X[:, 0], X[:, 1], c=y, cmap='bwr', alpha=0.5)
    
    # 生成网格点来绘制决策边界
    h = 0.02  # 步长
    x_min, x_max = X[:, 0].min() - 0.5, X[:, 0].max() + 0.5
    y_min, y_max = X[:, 1].min() - 0.5, X[:, 1].max() + 0.5
    xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))
    Z = logreg.predict(np.c_[xx.ravel(), yy.ravel()])
    Z = Z.reshape(xx.shape)
    
    # 绘制决策边界
    plt.contourf(xx, yy, Z, alpha=0.3, cmap='bwr')
    
    plt.xlabel('Feature 1')
    plt.ylabel('Feature 2')
    plt.title('Logistic Regression Decision Boundary')
    plt.colorbar()
    plt.show()
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    运行结果
    在这里插入图片描述

    3、总结

    逻辑回归模型可以根据训练集中的数据学习到一组最佳的参数,从而能够根据输入特征进行准确的二分类预测。通过调整阈值,可以灵活地控制分类结果的精度和召回率。

    学习逻辑回归的关键在于理解线性组合、sigmoid函数和概率解释的概念。
    通过应用这些基本原理,结合实际数据集和示例代码的演示,希望你能对逻辑回归算法有一个清晰的认识,并能够在实际问题中应用它。

    关于逻辑回归,也可以参照小鱼的这两篇博文:

    我是小鱼

    • CSDN 博客专家
    • 阿里云 专家博主
    • 51CTO博客专家等
    • 多个名企认证讲师等
    • 认证金牌面试官
    • 签约职场面试培训、职场规划师
    • 多个国内主流技术社区的认证专家博主
    • 多款主流产品(阿里云等)测评一、二等奖获得者

    关注小鱼,学习机器学习领域的知识。

  • 相关阅读:
    【图像分类】Swin Transformer理论解读+实践测试
    postgresql,postgis,Qgis
    java计算机毕业设计在线教育系统源代码+系统+数据库+lw文档
    AI数据标注猿知识星球私域社区开始招募啦
    泡泡玛特城市乐园开园在即,知名潮玩IP落地北京朝阳
    IntelliJ Plugin开发 (二) 获取编辑器上选中的文本以及使用通知和消息框显示
    docker swarm安装指导
    pytorch深度学习实战lesson14
    git补充
    那么你面试必须知道的H5C3知识点
  • 原文地址:https://blog.csdn.net/wuyoudeyuer/article/details/135895574