线性回归-随机梯度法下降算法预测波士顿房价(附带数据集下载链接, 长期有效)

机器学习基本步骤:

​1.数据获取-导入外部数据集housing_price

数据获取: 听着高大上, 实际上就是把内部/外部数据集加载进来

2.数据基本处理-缺失值处理, 分割数据集,

数据基本处理:实际上就是对数据中缺失的数据和异常的数据进行处理, 然后进行数据集分割

3.特征工程-特征预处理,

 特征工程:听着高大上, 实际上就是对特征值进行的一系列处理

4.模型训练-使用梯度下降法进行线性回归,

机器学习/模型训练:听着高大上, 实际上就是选择合适的模型, 然后进行训练

5.模型评估-计算预测值,计算准确率, 计算均方误差MSE,

 模型评估:听着高大上, 实际上就是对模型的预测结果和评价指标进行一系列评估

# 1.数据获取-导入外部数据集housing_price,
import pandas as pd
boston=pd.read_csv(r"HousingData.csv")
print(boston)# 2.数据基本处理-缺失值处理, 分割数据集,
# 2.1检查缺失值数量并删除存在缺失值的行
nan=boston.isna().sum()
print("nan:", nan)
if (~nan).any():print("删除中...")boston = boston.dropna()
nan=boston.isna().sum()
print("nan:", nan)
# 2.2将数据集分割成训练集特征值, 测试集特征值, 训练集目标值, 测试集目标值
from sklearn.model_selection import train_test_split
x_all= boston.loc[:,boston.columns!="MEDV"]   # x_all是指全体特征值, 包括测试集特征值和训练集特征值
y_all= boston.iloc[:,-1]   # .loc[]的用法, 能行吗? y_all是指全体目标值, 包括测试集目标值和训练集目标值
x_train, x_test,y_train,y_test  = train_test_split(x_all,y_all, test_size=0.2)# 3.特征工程-特征预处理-各个特征值单位不一致, 进行标准化处理
from sklearn.preprocessing import StandardScaler
scaler=StandardScaler()
x_train=scaler.fit_transform(x_train)
x_test= scaler.fit_transform(x_test)# 4.模型训练-使用梯度下降法进行线性回归,
from sklearn.linear_model import SGDRegressor
estimator= SGDRegressor(max_iter=1000,learning_rate='constant', eta0=0.001)
# 把学习率设置成常数: estimator= SGDRegressor(max_iter=1000,learning_rate='constant', eta0=0.001)
estimator.fit(x_train,y_train)# 5.模型评估-计算预测值,计算准确率, 计算均方误差MSE,
# 计算预测值
y_predict=estimator.predict(x_test)
print("Y_predict is:", y_predict)
# 计算准确率
accu_score=estimator.score(x_test, y_test)
print("accuracy:",accu_score)
# 计算均方误差
from sklearn.metrics import mean_squared_error
MSE=mean_squared_error(y_test, y_predict)
print("mean_squared_error:", MSE)# 扩展1
# 模型评估主要用于监督学习方便, 根据模型不同, 通常使用的评估指标也不同
# 1.分类模型: 准确率, 精确率, 召回率, F1-score, AUC指标
# 2.回归模型: 均方根误差, 相对平方误差, 平均绝对误差, 相绝对误差, 决定系数# 扩展2
# pycharm中查询显示函数的快捷键有ctrl+p, ctrl+q# 扩展3
# estimator->estimate->estim(词根), 意思是评估, 估计, 判断# 扩张4
# loc[], iloc[], array[]的区别
# loc根据行/列名定位, 适合用于多列选择
# iloc根据列索行/引定位, 适合用于多列选择
# array[]根据行列名或者索引定位, 适用于要选择的列数较少的情况

数据集HousingData下载地址:

链接:https://pan.baidu.com/s/1uQiYeN5QYwIBAWj9LG1EgQ 
提取码:oem8

作者的唠叨

嘿嘿, 插几句话, 不吐不快啊, 

市面上的网盘太多了, 平时想要获取资源, 免不了要跟各种网盘打交道,

需要哪个大佬分享的资源, 就要下载大佬用来分享资源的网盘的app软件, 好烦啊

有没有什么办法, 不通过网盘客户端也能下载大型资源的方式啊?求求啊!

算了, 等着我, 早晚给它鼓捣出来

哦, 对了,

刚刚试了试,  迅雷网盘里面的磁力链接可以通过百度网盘进行下载

感觉百度网盘的会员还是挺良心的,内存够大,

但是你既然这么良心, 为什么不把会员的文件下载/上传的传输速度提上去呀

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

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

相关文章

Spring Boot知识管理系统:创新与实践

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

公开课学习:软件测试面试3大难题

1.验证码机制的处理:自动化遇到验证码怎么办?怎么测试? 流程:先识别元素,再对元素进行操作。实际上,验证码无法用自动化技术操作解决,都是由开发给万能码,或者屏蔽验证码去解决!那如果不能屏…

数据结构——优先级队列(堆)

概念: 在操作数据的时候,操作的数据具有优先级,需要返回最高级别的优先级数据或者添加新对象时就需要用到优先级队列。 jdk1.8中的PrioriytQueue底层实现了堆这种数据结构实际上,堆其实就是在完全二叉树进行调整而来。 堆&#x…

C++STL--------vector

文章目录 一、vector常用接口介绍1、initializer_list2、接口有很多类似3、typeid(类型).name()4、find() 函数5、内置类型构造 二、vector()常用接口模拟实现 截图来源网站:https://legacy.cplusplus.com/reference/vector/vector/ 一、vector常用接口介绍 是一个…

哪种护眼大路灯孩子用着最好?公认最好的护眼大路灯

哪种护眼大路灯孩子用着最好?最近也有不少家长关注到了孩子视力健康的这个情况,很着急开始寻找各种能够减少孩子因为不良光线影响视力健康的方法,其中大路灯以良好的表现成为家长们的首选,但快速发展的市场中,却涌入了…

Golang 逃逸分析(Escape Analysis)理解与实践篇

Golang 逃逸分析(Escape Analysis)理解与实践篇 文章目录 1.逃逸分析2.相关知识(栈、堆、GC分析)3.逃逸分析综合-实践 demo 逃逸分析(Escape Analysis)是编译器在编译期进行的一项优化技术,是Gl…

Qt QTableWidget多行表头、表头折行显示

表头折行显示 //方法一QVector<QString> chNames;chNames<<"表头1"<<"表头2长命名abcdefg";ui.tableWidget->setColumnCount(chNames.size()1);ui.tableWidget->setHorizontalHeaderItem(0, new QTableWidgetItem(QString::fromL…

【C】C语言常见概念~

C语言常见概念 转义字符 转义字符&#xff0c;顾名思义&#xff0c;转变原来意思的字符 比如 #include <stdio.h> int main() {printf("abcndef");return 0; }输出的结果为&#xff1a; 将代码修改一下&#xff1a; #include <stdio.h> int main(…

双目视觉搭配YOLO实现3D测量

一、简介 双目&#xff08;Stereo Vision&#xff09;技术是一种利用两个相机来模拟人眼视觉的技术。通过对两个相机获取到的图像进行分析和匹配&#xff0c;可以计算出物体的深度信息。双目技术可以实现物体的三维重建、距离测量、运动分析等应用。 双目技术的原理是通过两…

SpringBoot基础(五):集成JUnit5

SpringBoot基础系列文章 SpringBoot基础(一)&#xff1a;快速入门 SpringBoot基础(二)&#xff1a;配置文件详解 SpringBoot基础(三)&#xff1a;Logback日志 SpringBoot基础(四)&#xff1a;bean的多种加载方式 SpringBoot基础(五)&#xff1a;集成JUnit5 目录 一、JUnit…

敏捷开发 与 Scrum

‌敏捷开发的概念起源于20世纪90年代末期&#xff0c;旨在解决传统软件开发方法中存在的效率低下问题。‌ 传统软件开发方法因其繁琐的过程和对文档的严格要求&#xff0c;导致了“重型化危机”&#xff0c;这使得开发效率大幅下降。为了应对这些问题&#xff0c;敏捷方法应运…

微信小程序 - 01 - 一些补充和注意点(补充ing...)

目录 一、节流二、在一个发请求的函数中&#xff0c;只有发生下拉动作&#xff0c;才执行关闭下拉代码 最近在学微信小程序&#xff0c;把学习过程中的一些补充和注意点总结一下&#xff0c;内容会比较简单&#xff0c;因为只涉及基础知识&#xff0c;供个人参考 一、节流 情…

AIGC毕设项目分享:基于RAG的数字人对话系统及其应用

本研究的主要目标是设计并实现一个基于检索增强生成&#xff08;RAG&#xff09;技术的数字人对话系统&#xff0c;旨在提升数字人系统在多轮对话中的上下文管理、情境感知能力以及动态内容生成效果。系统结合了深度学习中的最新大语言模型技术&#xff0c;通过引入RAG框架来增…

K8S配置MySQL主从自动水平扩展

前提环境 操作系统Ubuntu 22.04 K8S 1.28.2集群&#xff08;1个master2个node&#xff09; MySQL 5.7.44部署在K8S的主从集群 metrics-server v0.6.4 概念简介 在K8s中扩缩容分为两种 ●Node层面&#xff1a;对K8s物理节点扩容和缩容&#xff0c;根据业务规模实现物理节点自动扩…

Python列表专题:list与in

Python是一种强大的编程语言,其中列表(list)是最常用的数据结构之一。列表允许我们存储多个元素,并且可以方便地进行各种操作。在Python中,in运算符被广泛用于检测元素是否存在于列表中。本文将深入探讨Python列表及其与in运算符的结合使用。 1. Python列表的基础 1.1 什…

爬虫案例——网易新闻数据的爬取

案例需求&#xff1a; 1.爬取该新闻网站——&#xff08;网易新闻&#xff09;的数据&#xff0c;包括标题和链接 2.爬取所有数据&#xff08;翻页参数&#xff09; 3.利用jsonpath解析数据 分析&#xff1a; 该网站属于异步加载网站——直接网页中拿不到&#xff0c;需要…

项目开发--基于docker实现模型容器化服务

背景 1、docker-compose build 和 docker-compose up -d分别是什么作用&#xff1f; 2、如何进入新构建的容器当中 3、模型保存的方法区别 4、如何让docker容器启动的时候能使用cuda进行模型推理加速 5、如何实现容器的迭代 解决方案 问题1 docker-compose build 和 docker…

WindowsAPI|每天了解几个winAPI接口之Iphlpapi.h网络配置相关文档详细分析三

上一篇&#xff1a;WindowsAPI|每天了解几个winAPI接口之Iphlpapi.h网络配置相关文档详细分析二 如果有错误欢迎指正批评&#xff0c;在此只作为科普和参考。 文章目录 GetTcpTable&GetExtendedTcpTable&#xff1a;获取TCP连接的信息GetOwnerModuleFromTcpEntry&#xff1…

MySQL-08.DDL-表结构操作-创建-案例

一.MySQL创建表的方式 1.首先根据需求文档定义出原型字段&#xff0c;即从需求文档中可以直接设计出来的字段 2.再在原型字段的基础上加上一些基础字段&#xff0c;构成整个表结构的设计 我们采用基于图形化界面的方式来创建表结构 二.案例 原型字段 各字段设计如下&…

深入理解线性表--顺序表

目录 顺序表- Seqlist -> sequence 顺序 list 表 顺序表的概念 问题与解答 顺序表的分类 静态顺序表 动态顺序表 问题与解答(递进式) 动态顺序表的实现 尾插 头插 尾删 头删 指定位置插入 指定位置删除 销毁 总结 前言&#xff1a;线性表是具有相同特性的一类数据结构…