首页 > 其他分享 >机器学习模型之逻辑回归

机器学习模型之逻辑回归

时间:2024-03-28 22:32:10浏览次数:20  
标签:逻辑 机器 pred 回归 self num np 模型

逻辑回归是一种常用的分类算法,尤其适用于二分类问题。逻辑回归的核心思想是通过对数几率函数(logistic function)将线性回归的输出映射到概率空间,从而实现分类。

逻辑回归的原理:

逻辑回归模型使用对数几率函数(logistic function)作为激活函数,将线性回归的输出映射到概率空间。对数几率函数的数学表达式:

P(Y=1|X) = \frac {1} {1 + e^ {- (w \cdot X + b)}}

其中,P(Y=1∣X)表示给定输入特征X时,数据点属于正类的概率;w是权重向量;b是偏置项;e是自然对数的底数。

逻辑回归模型的损失函数是交叉熵损失(cross-entropy loss),数学表达式为:

L(Y, \hat {Y}) = -\frac {1} {N}\sum_ {i=1}^ {N} [Y_i \log (\hat {Y_i}) + (1 - Y_i) \log (1 - \hat {Y_i})]

其中,N是数据点的数量,Y_i是第i个数据点的真实标签,\hat {Y}是第i个数据点的预测概率。
逻辑回归模型的参数优化通常采用梯度下降法(Gradient Descent),通过不断迭代更新权重和偏置项,使损失函数最小化。

逻辑回归的应用

逻辑回归在实际应用中有着广泛的应用,包括:

1、信用评分:逻辑回归可以用于评估客户的信用风险,预测客户是否会违约。

2、医学诊断:逻辑回归可以用于医学诊断,例如预测患者是否患有某种疾病。

3、电商推荐:逻辑回归可以用于电商推荐,根据用户的购买历史和浏览行为预测其是否会购买某种商品。

4、市场营销:逻辑回归可以用于预测客户是否会购买某个产品,帮助企业制定营销策略。

代码实现:

import numpy as np

def sigmoid(x):
    return 1 / (1 + np.exp(-x))

class LogisticRegression:
    def __init__(self, learning_rate=0.01, num_iterations=1000):
        self.learning_rate = learning_rate
        self.num_iterations = num_iterations
        self.weights = None
        self.bias = None

    def fit(self, X, y):
        num_samples, num_features = X.shape
        self.weights = np.zeros(num_features)
        self.bias = 0

        for _ in range(self.num_iterations):
            linear_model = np.dot(X, self.weights) + self.bias
            y_pred = sigmoid(linear_model)

            dw = (1 / num_samples) * np.dot(X.T, (y_pred - y))
            db = (1 / num_samples) * np.sum(y_pred - y)

            self.weights -= self.learning_rate * dw
            self.bias -= self.learning_rate * db

    def predict(self, X):
        linear_model = np.dot(X, self.weights) + self.bias
        y_pred = sigmoid(linear_model)
        y_pred_cls = [1 if i > 0.5 else 0 for i in y_pred]
        return np.array(y_pred_cls)
    
# 假设我们有一些数据X和对应的标签y
X, y = np.random.rand(100, 300), np.random.randint(0, 2, 100)

# 创建并训练逻辑回归模型
model = LogisticRegression()
model.fit(X, y)

# 使用模型进行预测
y_pred = model.predict(X)

这是一个基本的实现,实际应用中可能需要添加更多的功能,如正则化、优化算法选择等。此外,对于多分类问题,可以使用softmax回归(也称为多项逻辑回归)。在实践中,我们通常使用机器学习库(如scikit-learn)来实现逻辑回归,这些库提供了更多的功能并进行了优化。但是,理解上述代码的工作原理对于理解逻辑回归的原理是非常有帮助的。

逻辑回归模型的优点在于简单易懂、计算效率高、可解释性强。在机器学习中,逻辑回归是一种基础组件,可以用于预测事件发生的概率,也可以用于分析单一因素对某一个事件发生的影响因素。

标签:逻辑,机器,pred,回归,self,num,np,模型
From: https://blog.csdn.net/a2313179618/article/details/137125485

相关文章

  • Python机器学习从入门到高级:导入数据(包含数据库连接)
    python数据科学系列https://developer.aliyun.com/article/1174199 ......
  • 新机器安装docker (新手笔记)-- 知其所以然
    1.安装Docker-2024.03.28官方手册清华大学开源软件镜像站|可从主页找到Docker资源#AddDocker'sofficialGPGkey:sudoapt-getupdatesudoapt-getinstallca-certificatescurlsudoinstall-m0755-d/etc/apt/keyringssudocurl-fsSLhttps://download.docker......
  • Ubuntu22.04下Issac Gym/宇树机器人RL&gcc/g++,CUDA,CUDA ToolKit,Pytorch配置环境配
    前置条件本随笔写作Condition:在本人3050Ti笔记本上配好环境后,再在室友4060笔记本上边配边记录整理所得。室友的系统已经配好了相应驱动,因此,本随笔内容基于已经安装了NVIDIA显卡驱动的系统。下次搞到没装驱动的系统我再补一个随笔。宇树机器人宇树科技的文档中心有一个简单的安......
  • (7-6)行为预测算法:基于Trajectron++模型的行为预测系统
    7.6 基于Trajectron++模型的行为预测Trajectron++是一个用于多目标轨迹预测和规划的深度学习模型,旨在应对自动驾驶和机器人等领域中的挑战,其中多个移动目标需要被准确地预测其未来运动轨迹,以便做出智能决策。7.6.1 Trajectron++模型的特点Trajectron++模型的主要特点和......
  • 区间开关灯模型
    P3870[TJOI2009]开关先看一道经典的区间开关灯问题的模型,维护一个lz每次异或操作就好了#include<bits/stdc++.h>usingnamespacestd;usingll=longlong;usingpii=pair<int,int>;constintN=1e5+10;constintinf=0x3f3f3f3f;constintmod=1e9+......
  • 【节选 转载】人形机器人Optimus擎天柱技术解析
    参考原文:https://www.sohu.com/a/589454391_383324?scm=9010.8000.0.0.1265可以利用动作捕捉“学习”人类动作,依靠视觉的AI算法和学习,机器人能知道手在空间的位置,并准确拿取物品。Optimus擎天柱感知世界的方式和人类一样,都是视觉。可以看到,不同的物体被以不同的颜色......
  • 必备知识点 模型层ORM
    模型层ORM1.Django连接MySQL数据库1.1配置mysql参数#MySQL配置项DATABASES={'default':{#ENGINE:默认的引擎mysql'ENGINE':'django.db.backends.mysql',#HOST:主机地址127.0.0.1/localhost"HOST"......
  • 开源模型应用落地-qwen1.5-7b-chat-LoRA微调(二)
     一、前言        预训练模型提供的是通用能力,对于某些特定领域的问题可能不够擅长,通过微调可以让模型更适应这些特定领域的需求,让它更擅长解决具体的问题。    本篇是开源模型应用落地-qwen-7b-chat-LoRA微调(一)进阶篇,学习通义千问最新1.5系列模型的微调方......
  • 2024天府杯全国大学生数学建模A题思路+模型+代码+论文
    2024天府杯数学建模竞赛A题思路模型代码:3.28第一时间更新,更新见文末名片A题:科研绩效分配方案设计与优化问题背景:科学研究领域的绩效评定有着较大的共性和行业典型特点,在高校科研人员日常管理工作中也是一项较复杂的研究性、政策性工作。科技部、教育部、......
  • 机器学习——模型评估与选择
    1、经验误差与过拟合  学习器在训练集上的误差称为“训练误差”或“经验误差”,在新样本上的误差称为“泛化误差”,显然,我们希望得到泛化误差小的学习器。为了达到这个目的,应该从训练样本中尽可能学出适用于所有潜在样本的“普遍规律”,这样才能在遇到新样本时做出正确的判......