机器学习编程作业-逻辑回归

2023-11-19

作业说明

任务一:使用逻辑回归辨别真假钞票。钞票数据集(Banknote Dataset)涉及根据给定钞票的数个度量的照片预测是真钞还是假钞。它是一个二分类问题。每个类的观测值数量不均等。4个输入变量和1个输出变量。变量名如下:
变量名1:小波变换图像(连续)
变量名2:小波偏斜变换图像(连续)
变量名3:小波峰度变换图像(连续)
变量名4:图像熵(连续)。
类(0 为真钞,1 为假钞)

任务二:使用逻辑回归对电影评论分类。电影评论数据集和之前贝叶斯的电影数据集相同。

复习

逻辑回归,在西瓜书里面称为对数几率回归,logistic regression,logit regression。实际上就是线性回归加了一个sigmoid函数。
z = w T x + b z=\mathbf{w} ^{T} \mathbf{x}+b z=wTx+b
y = s i g m o i d ( z ) = 1 1 + e − z = 1 1 + e − ( w T x + b ) y=sigmoid(z)=\frac{1}{1+e^{-z }}=\frac{1}{1+e^{-(\mathbf{w} ^{T} \mathbf{x}+b )}} y=sigmoid(z)=1+ez1=1+e(wTx+b)1

任务一:使用逻辑回归辨别真假钞票

首先是从txt文件中读取数据并向量化。然后用梯度下降法不断迭代得到最优参数。上代码

def gradient(x, xt, y):
    m, n = x.shape
    y = y.reshape(-1, 1)
    alpha = 0.001
    deta = 0.000001
    maxcycle = 500
    beta = np.ones((n, 1))
    for i in range(maxcycle):
        h = sigmoid(np.matmul(x, beta))
        error = y - h
        tem = beta
        beta = beta + alpha * np.matmul(xt, error)
        if abs(sum(beta - tem)) < deta:
            break
        print(i)
    return beta

beta就是 w w w b b b的拼接结果,即 β = ( w ; b ) \beta =(\mathbf{w};b) β=(w;b), w T x + b = β T x ^ , x ^ = ( x ; 1 ) \mathbf{w} ^{T} \mathbf{x}+b=\beta^{T}\mathbf{\hat{x}},\mathbf{\hat{x}}=(\mathbf{x};1) wTx+b=βTx^,x^=(x;1)。这个代码写的不太行,对numpy库非常不熟悉,导致我函数入口参数既传了矩阵又传了矩阵的转置,而且运行慢
剩下的就是用公式去预测结果然后保存成csv文件

任务二:使用逻辑回归对电影评论分类

在这里有一个问题,就是梯度下降法的实现。走在路上想往最低处走总有多种路线。任务一就是一种梯度下降,但是很慢,效果感觉也不太行。我记得当时我编程作业到这里时处于一种非常迷惑的状态,因为连续好几个任务都不给测试集标签对比训练成果(后来才想起可以把训练集割掉一部分不训练,专门拿来验证)。
看看别人的梯度下降,多简洁

def stoc_grad_ascent(dataMatIn, classLabels):
    m, n = np.shape(dataMatIn)
    alpha = 0.01
    weights = np.ones(n)
    for i in range(m):
        h = sigmoid(sum(dataMatIn[i] * weights))  # 数值计算
        error = classLabels[i] - h
        weights = weights + alpha * error * dataMatIn[i]
        print(i)
    return weights

水完了,今晚上不写了,凑合着看

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习编程作业-逻辑回归 的相关文章

  • [ 数据结构-C语言 ] 二叉树--初阶 大总结~~

    今天要和大家一起步入一个新的数据结构 二叉树 在学习了解二叉树之前我们先来了解什么是树 以下是本篇的主要内容及目录 目录 1 树的概念及其结构 1 1树的概念 1 2树的相关概念 重点 1 3树的表示 2 二叉树概念及结构 2 1概念 2
  • 优化算法 - BGD、MBGD、SGD - 梯度下降

    优化算法 BGD MBGD SGD 梯度下降 BGD SGD MBGD BGD BGD Batch Gradient Descent 批量梯度下降 损失函数 L X
  • 管道-阻塞与非阻塞

    非阻塞的管道和FIFO 管道和FIFO都可以设置非阻塞 它们两者都可以在打开之后通过fcntl函数设置O NONBLOCK标志来enable 一般而言 我们都是先使用F GETFL来获取当前文件状态标志 将它与O NONBLOCK按位或之后
  • javatServlet中的cookie设置

    cookie 服务器将一些信息存储在浏览器 本地 当用户再次打开网页时 会自动填充该信息 当浏览器再次发送请求时 会将存储的信息通过请求头的方式发送给服务器端 不需要用户每次都填充某些内容 cookie中理论上来讲 最大存储4KB内容 co

随机推荐

  • 数学界的扫地僧们(转)

    转载连接 http www newsmth net nForum article WorkLife 752660 前两天跟一个老同学聊近年来数学上的重大发现 结果作为科普人的我说着说着就发现 数学史原来就是一部八卦史 这个圈子奇葩辈出 怪事
  • C中violatile的用法

    1 violate影响编译器结果的输出 violate变量随时可能发生变化 与violate有关的运算不要进行编译优化 以免出错 例如 volatile int i 10 int j i int k i violate告诉编译器变量i是随时
  • 对接微信支付(二)统一下单API

    原创文章 对接微信支付 二 统一下单API 编程屋 大家可以先想一下 大家平时在PC端发起的支付都需要什么 是不是你选好商品之后 点击支付 然后PC端弹出来一个二维码 你扫码付款 付款完成之后就OK了 当然这只是针对我们用户来说的 对于我们
  • 什么是数字孪生技术?

    数字孪生是实体对象的虚拟模型 它跨越对象的生命周期 并使用从对象上的传感器发送的实时数据来模拟行为并监控操作 数字孪生可以复制许多现实世界中的物品 从工厂中的单台设备到完整的装置 例如风力涡轮机 甚至整个城市 数字孪生技术使您能够监督资产的
  • 毕业设计-基于机器视觉深度学习船只船舶检测

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越来越难 有不少课题是研究生级别难度
  • Idea设置maven依赖自动导入

    maven自动导入 setting gt Build gt Build Tools gt Any changes
  • mmocr环境配置

    win10 显卡3070 创建名为mmocr的环境 conda create n mmocr python 3 7 y 激活mmocr conda activate mmocr 失败了 安装完事竟然是cpu版本 没找到原因 本人3070显卡
  • SpringBoot 图片上传(详解篇)

    前言 SpringBoot在服务器内上传文件 是临时文件 在重启时候会生成另外的目录 也就意味着原来上传的图片在重启后就访问不到了 1 图片上传 PostMapping upload public CommonResult insertDb
  • [人工智能-深度学习-77]:目标检测 - 常见项目、应用

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122307915 目录 前言 场景一
  • 【Golang入门】Golang第一天心得

    生活所迫 入门一下Go 很奇葩的第一点 接口 package main import fmt 定义一个接口 type Shape interface Area float64 定义一个矩形类型 type Rectangle struct W
  • 企业级体验:未来体验管理的价值与趋势

    我从事企业级体验相关领域的工作已十六载有余 曾经就职的企业既有阿里巴巴 腾讯这样的互联网 大厂 也有顺丰 龙湖这样的线下 传统 企业 在这些企业中 我所工作的场景横跨了软件 电商 互联网 物流 零售 地产 金融等诸多业务领域 为不同业务场景
  • freeImage图像旋转滤波

    原文 http www cnblogs com wangshide archive 2012 04 25 2470693 html 1 使用了 freeImage 图像库进行图像读取 保存 如何将图片转为矩阵 如何处理图片的颜色 rgb 透
  • pandas笔记(10)——数据导出

    导出excel 格式 to excel excel writer sheet name Sheet1 na rep float format None columns None header True index True index la
  • springcloud-eureka集群-整合hystrix框架整合feign

    继之前的项目继续扩展 整合hystrix和feign这两个框架 1 修改服务器调用者的application yml 增加如下代码 打开feign对hystrix的支持 feign hystrix enabled true 配置hystri
  • STM3利用FATFS向SD卡文件追加数据的三种方法

    1 f sync SDFile 该方法简单粗暴 适合一直连续向sd卡中写入数据 while之前就f open 循坏内重复 向缓存填充数据 gt 写入数据 gt 刷新写入 整个过程并没有f colse retSD f open SDFile
  • Win10 LTSB/LTSC 录音机、图片查看器、便签

    Win10 LTSB LTSC 录音机 图片查看器 便签 文章目录 Win10 LTSB LTSC 录音机 图片查看器 便签 示例 录音机 图片查看器 便签 示例 文件下载地址 链接 https pan baidu com s 1YYwh9
  • etree.html 报错 AttributeError:‘function’ object has no attribut ‘HTML’

    etree html 报错 1 Pycharm 中lxml没有etree模块的解决方法 之前是 from lxml import etree tree etree HTML python 3 5以上版本lxml中没有了etree 要换另外一
  • Windows 环境下安装C语言运行环境

    STEP1 下载min gw 下载地址 https sourceforge net projects mingw files STEP2 点击 mingw get setup exe安装 安装目录可以自己选择 但是要记住 后面添加环境变量需
  • 离散数学---期末复习知识点

    一 数理逻辑 复习知识点 1 命题与联结词 否定 析取 合取 蕴涵 等价 命题 非真既假的陈述句 复合命题 由简单命题通过联结词联结而成的命题 2 命题公式与赋值 成真 成假 真值表 公式类型 重言 矛盾 可满足 公式的基本等值式 3 范式
  • 机器学习编程作业-逻辑回归

    逻辑回归 作业说明 复习 任务一 使用逻辑回归辨别真假钞票 任务二 使用逻辑回归对电影评论分类 作业说明 任务一 使用逻辑回归辨别真假钞票 钞票数据集 Banknote Dataset 涉及根据给定钞票的数个度量的照片预测是真钞还是假钞 它