机器学习——线性回归(头歌实训)

头歌机器学习实训代码、答案,如果能够帮到您,希望可以点个赞!!! 

如果有问题可以csdn私聊或评论!!!感谢您的支持

目录

第1关:简单线性回归与多元线性回归

第2关:线性回归的正规方程解 

第3关:衡量线性回归的性能指标 

第4关:scikit-learn线性回归实践 - 波斯顿房价预测 


第1关:简单线性回归与多元线性回归

  • 1、下面属于多元线性回归的是?( BC

    A、求得正方形面积与对角线之间的关系。
    B、建立股票价格与成交量、换手率等因素之间的线性关系。
    C、建立西瓜价格与西瓜大小、西瓜产地、甜度等因素之间的线性关系。
    D、建立西瓜书销量与时间之间的线性关系。
  • 2、若线性回归方程得到多个解,下面哪些方法能够解决此问题?( ABC

    A、获取更多的训练样本
    B、选取样本有效的特征,使样本数量大于特征数
    C、加入正则化项
    D、不考虑偏置项b
  • 3、下列关于线性回归分析中的残差(预测值减去真实值)说法正确的是?( A )

    A、残差均值总是为零
    B、残差均值总是小于零
    C、残差均值总是大于零
    D、以上说法都不对

第2关:线性回归的正规方程解 

#encoding=utf8 
import numpy as np
def mse_score(y_predict,y_test):
    '''
    input:y_predict(ndarray):预测值
          y_test(ndarray):真实值
    ouput:mse(float):mse损失函数值
    '''
    #********* Begin *********#
    mse = np.mean((y_predict-y_test)/2)
    #********* End *********#
    return mse
class LinearRegression :
    def __init__(self):
        '''初始化线性回归模型'''
        self.theta = None
    def fit_normal(self,train_data,train_label):
        '''
        input:train_data(ndarray):训练样本
              train_label(ndarray):训练标签
        '''
        #********* Begin *********#
        x = np.hstack([np.ones((len(train_data),1)),train_data])
        self.theta =np.linalg.inv(x.T.dot(x)).dot(x.T).dot(train_label)
        #********* End *********#
        return self.theta
    def predict(self,test_data):
        '''
        input:test_data(ndarray):测试样本
        '''
        #********* Begin *********#
        x = np.hstack([np.ones((len(test_data),1)),test_data])
        return x.dot(self.theta)
        #********* End *********#

第3关:衡量线性回归的性能指标 

#encoding=utf8 
import numpy as np
#mse
def mse_score(y_predict,y_test):
    mse = np.mean((y_predict-y_test)**2)
    return mse
#r2
def r2_score(y_predict,y_test):
    '''
    input:y_predict(ndarray):预测值
          y_test(ndarray):真实值
    output:r2(float):r2值
    '''
    #********* Begin *********#
    r2 = 1 - mse_score(y_predict,y_test)/np.var(y_test)
    #********* End *********#
    return r2
class LinearRegression :
    def __init__(self):
        '''初始化线性回归模型'''
        self.theta = None
    def fit_normal(self,train_data,train_label):
        '''
        input:train_data(ndarray):训练样本
              train_label(ndarray):训练标签
        '''
        #********* Begin *********#
        x = np.hstack([np.ones((len(train_data),1)),train_data])
        self.theta =np.linalg.inv(x.T.dot(x)).dot(x.T).dot(train_label)
        #********* End *********#
        return self
    def predict(self,test_data):
        '''
        input:test_data(ndarray):测试样本
        '''
        #********* Begin *********#
        x = np.hstack([np.ones((len(test_data),1)),test_data])
        return x.dot(self.theta)
        #********* End *********#

第4关:scikit-learn线性回归实践 - 波斯顿房价预测 

#encoding=utf8
#********* Begin *********#
import pandas as pd
from sklearn.linear_model import LinearRegression
 
#读取训练数据
train_data = pd.read_csv('./step3/train_data.csv')
 
#读取训练标签
train_label = pd.read_csv("./step3/train_label.csv")
train_label = train_label["target"]
 
#读取测试数据
test_data = pd.read_csv("./step3/test_data.csv")
lr = LinearRegression()
 
#训练模型
lr.fit(train_data,train_label)
 
#预测标签
predict = lr.predict(test_data)
 
#写入csv
df = pd.DataFrame({"result":predict}) 
df.to_csv("./step3/result.csv", index=False)
 
#********* End *********#
 

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

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

相关文章

Swift 中的 Sequence 是什么 ?

在 Swift 中,Sequence 是一个协议,它表示一个可以遍历其元素的集合类型。任何遵循 Sequence 协议的类型都必须提供一个迭代器,用于按顺序访问其元素。迭代器是通过 makeIterator() 方法获取的,该方法返回一个遵循 IteratorProtoco…

记一次阿里云服务器报错 无法安装Nginx

阿里云服务器。安装Nginx服务器。 报错如下: 这个时候需要修改: ‘etc/yum.conf’ 我们需要把这一行注释掉 这样就可以安装了

3-24游玩计划

总体目标 赏花为主,兼顾山海 平路为主,适当登高 目标1:光明油菜花 参考介绍链接:深圳3月赏花指南,来这片油菜花地追春天吧! 地址: pros: 赏油菜花步行安静散心生态采摘拍照打卡…

二、SpringBoot3 配置文件

本章概要 统一配置管理概述属性配置文件使用YAML 配置文件使用批量配置文件注入多环境配置和使用 2.1 统一配置管理概述 SpringBoot工程下,进行统一的配置管理,你想设置的任何参数(端口号、项目根路径、数据库连接信息等等)都集中到一个固定…

Linux:文件读取指令

Linux:文件读取指令 cat指令more指令less指令head指令 & tail指令grep指令 cat指令 cat指令用于查看目标文件的内容。 语法:cat [选项][文件] 比如直接使用cat读取一个文件: 可以看到,其直接在指令的下方,输出了t…

echarts图表动态监听dataZoom滑动,控制柱条的宽度以及数值的显示隐藏

当数值过多时,显示所有柱条看着会很凌乱且文字会挤在一起,于是就需要监听datazoom的滑动,拿到对应的阈值后做出相应的配置。 “dataZoom” 事件通常用于响应用户对图表进行数据缩放的操作。 这里是datazoom官网api地址:点击跳转至…

使用Python和OpenFOAM进行流体力学模拟的基础示例

流体力学模拟通常涉及复杂的数学方程和数值方法,例如计算流体动力学(CFD)。OpenFOAM是一个开源的CFD工具箱,它使用C编写,但可以通过Python脚本进行自动化和定制。 以下是一个简单的示例,展示如何使用Python和OpenFOAM进行流体力学…

ios symbolicatecrash 符号化crash

一、准备 1.1 .crash 文件获取 设备连接电脑 打开XCode, 依次 XCode -> Windows -> Device and Simulator -> Open Recent Logs 找到 (对应app名+时间点) -> 右键 Show in Finder 1.2 .dSYM 和 .app 文件获取 .dSYM是十六进制函数地址映射信息的中转文件,调试的…

html第一次作业

常用标签 0, 骨架&#xff08;&#xff01;tap&#xff09; <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><t…

JavaSE概念详解,代码事例,基础,IO,网络,Lambda,反射,模块化,注解,XML解析

数据类型 基础类型 int num1 10; byte num2 20; short num3 30; long num4 30L; // Long类型在数字类型加个L // 浮点数 float num5 50.1F; double num6 3.1415926;// 字符 char name a; String names "hello"; // String 不是关键字 // 布尔值 boolean fl…

必示科技携手云杉网络发布“智能可观测性联合解决方案”

近日&#xff0c;必示科技与云杉网络携手发布“智能可观测性联合解决方案”&#xff0c;整体方案融合云杉网络DeepFlow产品在可观测性领域、必示科技AIOps产品在运维数据分析领域的深厚技术积淀&#xff0c;完整实现IT系统高质量、高性能、全栈的可观测数据采集、智能监控和智能…

Tonghttpserver6.0.1.0部署指引优化版+基本操作指引+部分问题收集持续更新(by lqw)

文章目录 1.准备工作2.控制台安装解压和设置crt配置http.yaml配置grpc.yaml初始化数据库启动和访问ths管控台上传安装包 3.新增分組管理4.新增节点自动安装&#xff08;如果自动安装失败&#xff0c;可参考下一部分的手动安装&#xff09;手动安装&#xff08;自动安装成功的请…

基于Arduino IDE 野火ESP8266模块 EEPROM 存储开发

一、操作存储器 我们可以使用ESP8266模块的EEPROM&#xff0c;也就是可读可擦存储器&#xff0c;可以掉电不丢失地帮我们存储一些数据。ESP8266微控制器有一个闪存区(Flash memory) 来模拟Arduino的EEPROM。这是微控制器中一个特殊的内存位置&#xff0c;即使在主板关闭后&…

曲面斑马纹分析

曲面斑马纹分析是一种在曲面设计和质量检测中广泛使用的技术&#xff0c;其基本原理是利用明暗相间的光线照射到物体表面经反射产生的纹路来评估曲面的连续性和光顺性。这些斑马纹不仅美观&#xff0c;更重要的是它们能直观地展示曲面上的几何特性&#xff0c;帮助设计师和工程…

SpringBoot项目配置文件不生效问题解决

目录 一、问题描述 二、问题解决过程 三、总结 四、拓展 一、问题描述 近期在写一个RabbitMQ基于springboot的使用damon的时候&#xff0c;在启动消费者服务的时候一直发现连接不上RabbitMQ&#xff0c;很是纳闷&#xff0c;配置文件大概如下&#xff1a; server:port:…

蓝桥杯第192题 等差数列 C++ Java Python

目录 题目 思路和解题方法 复杂度 空间 时间 c 代码 Java 版本&#xff08;仅供参考&#xff09; Python 版本&#xff08;仅供参考&#xff09; 题目 思路和解题方法 首先&#xff0c;输入n和数组a的值。对数组a进行排序。计算数组a中相邻元素之间的差的最大公约数&…

什么是PLC物联网关?PLC物联网关有哪些功能?

在数字化浪潮的推动下&#xff0c;工业物联网&#xff08;IIoT&#xff09;正逐步成为推动制造业智能化转型的关键力量。而在这一变革中&#xff0c;PLC物联网关扮演着至关重要的角色。今天&#xff0c;就让我们一起走进PLC物联网关的世界&#xff0c;了解它的定义、功能&#…

【C语言】linux内核pci_set_master

一、__pci_set_master static void __pci_set_master(struct pci_dev *dev, bool enable) {u16 old_cmd, cmd;pci_read_config_word(dev, PCI_COMMAND, &old_cmd); // 读取设备的PCI命令寄存器的当前值if (enable)cmd old_cmd | PCI_COMMAND_MASTER; // 如果要启用总线…

计算机网络基础知识

一、网络概述 1.网络定义与功能 利用通信线路物理地将不同的终端连接起来&#xff0c;按照网络协议相互通信&#xff0c;以共享软件、硬件和数据资源为目标的系统 数据通信&#xff1a;在计算机之间传送各种信息 资源共享&#xff1a;硬件资源共享、软件资源共享 负荷均衡&am…

easyExcel大数据量导出oom

easyExcel大数据量导出 异常信息 com.alibaba.excel.exception.ExcelGenerateException: java.lang.OutOfMemoryError: GC overhead limit exceededat com.alibaba.excel.write.ExcelBuilderImpl.fill(ExcelBuilderImpl.java:84)at com.alibaba.excel.ExcelWriter.fill(Excel…