线性回归

news/2024/4/29 11:41:18/文章来源:https://www.cnblogs.com/RanX2018/p/16742881.html

线性回归

导入库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

人工数据集

'''
n = 100
true_theta = np.array([[1], [1]])
X = np.insert(np.random.normal(5, 1, size=(n, 1)), 0, 1, 1)
y = X @ true_theta + np.random.normal(0, 0.04, size=(n, 1))
X,y
plt.scatter(X[:,1],y)
'''
'\nn = 100\ntrue_theta = np.array([[1], [1]])\nX = np.insert(np.random.normal(5, 1, size=(n, 1)), 0, 1, 1)\ny = X @ true_theta + np.random.normal(0, 0.04, size=(n, 1))\nX,y\nplt.scatter(X[:,1],y)\n'

导入ML-ex1data1数据


data = pd.read_csv("ex1data1.txt", names=['x','y'])
data.insert(0, "Ones", 1)
n = data.shape[0]
m = data.shape[1]-1
X = np.array(data.iloc[:,:-1])
y = np.array(data.y).reshape(-1,1)
data
plt.scatter(X[:,-1],y)
<matplotlib.collections.PathCollection at 0x7f3d028c97e0>

image

导入ML-ex1data2数据

'''
data = pd.read_csv("ex1data2.txt", names=['x1', 'x2', 'y'])
data.insert(0, "Ones", 1)
n = data.shape[0]
m = data.shape[1]-1
X = np.array(data.iloc[:,:-1])
y = np.array(data.y).reshape(-1,1)
n,m,X,y
plt.scatter(X[:,-2],y)
'''

损失函数

def compterCost(X, theta, y):delta = X @ theta - yreturn delta.T @ delta
compterCost(X, np.zeros([m,1]), y)
array([[6222.11037223]])

梯度

def getGradient(X, theta, y):return ((X@theta - y).T @ X).T
getGradient(X, np.zeros([m,1]), y)
array([[ -566.3961    ],[-6336.89842532]])

梯度下降

def gradientDescent(X, theta, y, alpha, iters):cost = np.zeros(iters + 1)cost[0] = compterCost(X, theta, y)print(f"loop {0}'s cost is {cost[0]}")for i in range(iters):theta = theta - getGradient(X, theta, y)*alphacost[i+1] = compterCost(X, theta, y)print(f"loop {i+1}'s cost is {cost[i+1]}")plt.plot(range(iters+1), cost)#print(cost)return theta
theta = np.zeros([m, 1])
theta = gradientDescent(X, theta, y, 0.000003, 2000)

image

预测函数

def getMy(x):return np.insert(x, 0, 1, 1) @ theta
#getMy(np.array([[1],[2]]))
#theta

拟合图像

plt.scatter(X[:,-1], y)
#x = np.arange(5,23,0.5)
#plt.plot(x, getMy(x.reshape(-1,1)))
plt.axline([1,getMy(np.array([[1]]))[0][0]], xy2 = [2,getMy(np.array([[2]]))[0][0]])
#plt.plot(x, np.insert(x.reshape(-1,1), 0, 1, 1)@true_theta)
<matplotlib.lines._AxLine at 0x7f3d006718d0>

image

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_16002.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Azure | AZ-204 认证之旅-应用服务(二)

theme: orange 我正在参加「掘金启航计划」 Web应用是构建在PaaS层的服务&#xff0c;它是支持托管的&#xff0c;并且是可缩放的&#xff0c;极大提高了工程效率&#xff0c;并且减少了在运营的层面的消耗&#xff0c;这篇文章介绍如何创建应用程序服务。 创建Web应用程序服务…

pytorch深度学习训练模板(分类、回归)

前言 LeNet-AlexNet-ZFNet: LeNet-AlexNet-ZFNet一维复现pytorch VGG: VGG一维复现pytorch GoogLeNet: GoogLeNet一维复现pytorch ResNet: ResNet残差网络一维复现pytorch-含残差块复现思路分析 DenseNet: DenseNet一维复现pytorch 包含所有一维经典模型的代码可随意切换训练 …

云原生技术 --- k8s节点组件之kube-proxy的学习与理解

k8s 网络代理(kube-proxy)在每个节点上运行。网络代理反映了每个节点上 Kubernetes API 中定义的服务&#xff0c;并且可以执行简单的 TCP、UDP 和 SCTP 流转发&#xff0c;或者在一组后端进行 循环 TCP、UDP 和 SCTP 转发。但是&#xff0c;必须要有一个插件&#xff0c;才可以…

毕业设计- 基于单片机与GPS+GSM的车辆定位跟踪系统

文章目录0 前言1 简介2 主要器件3 实现效果4 硬件设计Maduino Zero A9G GPRS/GPSk开发板这款低功耗A9G使用SIM800/900和NEO-6M GPS模块的基于Arduino的GPS跟踪系统5 软件说明使用Arduino的基于GPSGSM的车辆跟踪系统GPSGSM的车辆跟踪系统的代码6 最后0 前言 &#x1f525; 这两…

IDEA中使用Git

目录 一、IDEA中使用Git 配置Git settings ——>Version Control——>Git 点击Test测试版本号 下载gitee插件 配置账户 第一种方式&#xff1a;账号密码 第二种方式&#xff1a;通过Token令牌 分享单个项目 组员需要拿到项目的SSH地址 二、总结 一、IDEA中使用G…

万物互联时代到来,猿代码领衔先计算机赋数据化转型

社会经济的高速发展推动着各行各业进行转型升级&#xff0c;而数字经济则是当前社会经济发展的强大驱动。根据相关报道显示&#xff0c;早在多年前我国数字经济规模总量便达到万亿元规模&#xff0c;占2016年全年GDP比重的30&#xff05;。数字经济的飞速发张需要强劲算力的支撑…

wxpython设计GUI:grid控件实现显示表单数据功能,同时实现界面的上下翻页以及跳转功能

grid控件实现显示表单数据功能&#xff0c;同时实现界面的上下翻页以及跳转功能。 1. 效果展示 2. 代码实现 #!/usr/bin/env python # -*- coding: utf-8 -*- # Author: Logintern09########################################################################### ## Python …

【图像分割】基于matlab直方图的自适应阈值方法分割前景与背景【含Matlab源码 2144期】

一、一种基于直方图的实时自适应阈值分割方法简介 1 引言 在交通管理中&#xff0c;为了获得车辆的运动数据&#xff0c;需要对交通视频进行实时监测&#xff0c;从监测图像序列中检测出运动对象&#xff0c;并对运动对象进行分析处理&#xff0c;从而获得车辆和行人的运动数据…

EMQX Cloud 影子服务:便捷数据缓存服务,加速 IoT 应用开发

全托管 MQTT 消息云服务 EMQX Cloud 可以帮助用户轻松将各类物联网设备连接上云&#xff0c;提供与各类第三方服务的数据集成&#xff0c;助力用户进行高效的数据处理、存储与分析。 为了实现更加便捷的物联网数据处理&#xff0c;进一步简化用户构建物联网应用的开发流程&…

好心情精神心理科:抑郁症,真的会让你变丑!

有患者向好心情平台咨询&#xff1a;“抑郁症多年&#xff0c;我总感觉自己变丑了&#xff0c;脸色也不咋好看&#xff0c;这到底是我的心理作用&#xff0c;还是容貌真有变化呢&#xff1f;” 变丑这件事&#xff0c;不致命&#xff0c;但对于很多人来说&#xff0c;却似乎难…

net转java学习笔记-sqlserver的问题记录

最近公司有个.net项目&#xff0c;用的不是mysql是sqlserver&#xff0c;中间遇到几次问题记录下。 1.navicat连接sqlserver失败 百度了一下这个是缺少了驱动&#xff0c;其实navicat自带了这个驱动&#xff0c;没有安装而已。 打开Navicat的安装路径&#xff0c;Navicat自带s…

qsort:我很强,了解一下(详解过程)

了解qsort&#xff0c;以及模拟实现&#x1f391;情境引入&#x1f388;qsort&#x1f4d6;qsort的头文件&#x1f4c4;开场&#x1f511;qsort的参数&#x1f914;为什么可以对任意类型排序呢&#xff1f;&#x1f4dc;参数参数①参数②参数③最难的参数④&#x1f383;qsort应…

一个完全纯净的windows资源站

网址:https://hellowindows.cn/ hello Windows呢是一个纯净的Windows系统下载网站&#xff0c;从已经淘汰的xp到新推出的win11&#xff0c;大部分的系统版本都涵盖了 且都是中文版本,更加方便 windows server版本也包括在内哦

17 -- 排序算法之希尔排序

希尔排序算法介绍: 希尔排序是希尔于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。 写入排序法的基本思想: 希尔排序十八记录按下标的一定增量分组,对每组使用直接插入算法排序:随着增量逐渐…

JAVA毕设项目京东仓库管理系统(Vue+Mybatis+Maven+Mysql+sprnig+SpringMVC)

JAVA毕设项目京东仓库管理系统&#xff08;VueMybatisMavenMysqlsprnigSpringMVC&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&am…

好心情精神心理科医生:哪些精神类药物会影响你的睡眠?

患病后的你是否也因有这种顾虑&#xff0c;迟迟不敢吃药或选择停药呢&#xff1f; 到底哪些精神科药物会引起睡眠问题呢&#xff1f;资料显示&#xff0c;凡是提高多巴胺能和去甲肾上腺素能的药物&#xff0c;都有可能引起睡眠问题。今天&#xff0c;好心情小编带大家一起来看…

G:\r\tcga_example-master\scripts 生存分析 tcgaexample jimmy

G:\r\tcga_example-master\scripts library(survival) library(survminer)## 批量生存分析 使用 coxph 回归方法 # http://www.sthda.com/english/wiki/cox-proportional-hazards-model colnames(phe) head(phe) #event中1 表示存活&#xff08;终点事件&#xff09; #htt…

15Spring Boot整合MyBatis

MyBatis 是一个半自动化的 ORM 框架&#xff0c;所谓半自动化是指 MyBatis 只支持将数据库查出的数据映射到 POJO 实体类上&#xff0c;而实体到数据库的映射则需要我们自己编写 SQL 语句实现&#xff0c;相较于Hibernate 这种完全自动化的框架&#xff0c;Mybatis 更加灵活&am…

windows下Redis多实例部署

当存在多个项目的时候&#xff0c;需要同时部署时&#xff0c;且只有一台服务器时&#xff0c;哪么就需要部署Redis多个实例&#xff0c;原理很简单&#xff0c;多个Redis服务运行使用不同的配置及数据管理。 具体操作如下&#xff1a; 1、进入redis安装目录&#xff0c;找到…

zerotier的planet服务器(根服务器)-搭建教程

应用场景介绍: 利用阿里云服务器,搭建根服务器,把不同局域网打通,实现内网穿透,远程控制。 准备工具: 1、服务端:云服务器(有公网IP)Centos 7.62、客户端: 工控机(或者家里电脑)(Linux) ,公司电脑Windows 搭建私有化 ZeroTier步骤: 一、云服务器上安装服务操作…