当前位置: 首页 > news >正文

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

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

如果有问题可以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 = Nonedef 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.thetadef 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 = Nonedef 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 selfdef 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 *********#

http://www.lryc.cn/news/323505.html

相关文章:

  • Echarts 利用多X轴实现未来15天天气预报
  • [数据结构初阶]二叉树
  • matlab和stm32的安装环境。能要求与时俱进吗,en.stm32cubeprg-win64_v2-6-0.zip下载太慢了
  • Opencv面试题
  • Python连接MariaDB数据库
  • 基于python+vue的ITS 信息平台的设计与实现flask-django-nodejs-php
  • MediatR 框架使用FluentValidation对Comand/Query进行自动拦截验证
  • TS + Vue3 elementUI 表格列表中如何方便的标识不同类型的内容,颜色区分 enum
  • 从零开始一步一步掌握大语言模型---(2-什么是Token?)
  • 使用专属浏览器在国内直连GPT教程
  • Wireshark 抓包工具与长ping工具pinginfoview使用,安装包
  • 分享Pandas 数据分析实战课程
  • 26. 删除有序数组中的重复项 (Swift版本)
  • python学生作业管理系统flask-django-nodejs-php
  • 蓝桥杯第二天刷真题
  • RK3568 安装jupyter和jupyterlab
  • 简易指南:国内ip切换手机软件怎么弄
  • Git学习笔记之Git 别名
  • 网络安全笔记-day6,NTFS安全权限
  • 云计算系统等保测评对象和指标选取
  • Vue 3项目中结合Element Plus的<el-menu>和CSS3创建锚点,以实现点击菜单项时平滑滚动到对应的锚点目标
  • C语言:数据在内存中的存储
  • DP动态规划入门(数字三角形、破损的楼梯、安全序列)
  • HBase Shell的应用案例
  • Allegro许可管理技巧
  • 34 vue 项目默认暴露出去的 public 文件夹 和 CopyWebpackPlugin
  • Redis 不再“开源”,对中国的影响及应对方案
  • 在CentOS中怎么安装和配置NginxWeb服务器
  • 使用docker搭建Fluentd的教程
  • Python的re模块进行正则表达式操作时的常用方法[回顾学习]