深度学习笔记:logistic 回归

一. 理论基础

我们使用一个回归函数来预测一个结果
在这里插入图片描述
w和b是我们要求的参数
w应该是一个向量,因为预测输入的参考值不止一个

  1. z表示我们的回归方程
  2. y帽表示优化这个回归方程,y也是预测的概率,使用y帽这个函数是为了使最后的值范围在0~1之间
  3. L是损失函数,他表示我们的预测值与真实值的接近程度,作用类似于方差

我们就是利用反向推到求出w,b
而损失函数L(成本函数),我们的目的是找到一个w,b来使这个损失函数的值最小,也就是说让预测值和真实值最接近

注:损失函数一般指的是针对单个样本 i 做的损失,公式可以表示为:
在这里插入图片描述
成本函数一般是数据集上总的成本函数,一般针对整体,根据上面的例子,这里的成本函数可以表示为
在这里插入图片描述


然后使用链式法则来求w,b
在这里插入图片描述
在这里插入图片描述

二. 代码实现

from sklearn import datasets
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split


# 加载数据
# 其中前四列为花萼长度,花萼宽度,花瓣长度,花瓣宽度等4个用于识别鸢尾花的属性,第5列为鸢尾花的类别(包括Setosa,Versicolour,Virginica三类, 0 1 2区别)
# y是类别(特征标签,也就是结果), x是数据
# 这个数据预测的就是是哪种花
X, y = datasets.load_iris(True)
# logistic回归解决的是二分类问题,所以先剔除一个种类,要么是0,要么是1
cond = y != 2

# 剔除一个分类的数据
X = X[cond]
y = y[cond]

# 划分训练数据和测试数据
result = train_test_split(X, y, test_size=0.2)      # 训练测试比例0.2,  train_X, test_X, train_Y, test_Y
lr = LogisticRegression()                           # 逻辑回归

# 训练数据
lr.fit(result[0], result[2])

# 求出w斜率和b截距的值
w = lr.coef_                                        # 应该是有四个 w1 w2 w3 w4
b = lr.intercept_                                   # 就只有一个
print(w, b)

# 预测一下概率
proba_ = lr.predict_proba(result[1])                # 第 i 行 第 j 列上的数值是模型预测 第 i 个预测样本为某个标签的概率,并且每一行的概率和为1。
print(proba_)

先是w和b取值
在这里插入图片描述
再是预测值,就是说在这个数据下
是0和1的概率分别是
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值