简单线性回归预测实现
import numpy as np from .metrics import r2_scoreclass SimpleLinearRegression:def __init__(self):"""初始化Simple Linear Regression模型"""self.a_ = Noneself.b_ = Nonedef fit(self, x_train, y_train):"""根据训练数据集x_train, y_train训练Simple Linear Regression模型"""assert x_train.ndim == 1, \"Simple Linear Regressor can only solve single feature training data."assert len(x_train) == len(y_train), \"the size of x_train must be equal to the size of y_train"x_mean = np.mean(x_train)y_mean = np.mean(y_train)self.a_ = (x_train - x_mean).dot(y_train - y_mean) / (x_train - x_mean).dot(x_train - x_mean)#向量化 点乘运算self.b_ = y_mean - self.a_ * x_meanreturn selfdef predict(self, x_predict):"""给定待预测数据集x_predict,返回表示x_predict的结果向量"""assert x_predict.ndim == 1, \"Simple Linear Regressor can only solve single feature training data."assert self.a_ is not None and self.b_ is not None, \"must fit before predict!"return np.array([self._predict(x) for x in x_predict])def _predict(self, x_single):"""给定单个待预测数据x,返回x的预测结果值"""return self.a_ * x_single + self.b_def score(self, x_test, y_test):"""根据测试数据集 x_test 和 y_test 确定当前模型的准确度"""y_predict = self.predict(x_test)return r2_score(y_test, y_predict)def __repr__(self):return "SimpleLinearRegression()"
衡量线性回归模型误差的三种方式
def mean_squared_error(y_true, y_predict):"""计算y_true和y_predict之间的MSE"""assert len(y_true) == len(y_predict), \"the size of y_true must be equal to the size of y_predict"return np.sum((y_true - y_predict)**2) / len(y_true)def root_mean_squared_error(y_true, y_predict):"""计算y_true和y_predict之间的RMSE"""return sqrt(mean_squared_error(y_true, y_predict))def mean_absolute_error(y_true, y_predict):"""计算y_true和y_predict之间的RMSE"""assert len(y_true) == len(y_predict), \"the size of y_true must be equal to the size of y_predict"return np.sum(np.absolute(y_true - y_predict)) / len(y_true)
计算最终模型预测准确度R方
def r2_score(y_true, y_predict):"""计算y_true和y_predict之间的R Square"""return 1 - mean_squared_error(y_true, y_predict)/np.var(y_true)
转载于:https://www.cnblogs.com/Erick-L/p/9031064.html
简单线性回归预测实现相关推荐
- python预测股票价格_python用线性回归预测股票价格
原标题:python用线性回归预测股票价格 线性回归在整个财务中广泛应用于众多应用程序中.在之前的教程中,我们使用普通最小二乘法(OLS)计算了公司的beta与相对索引的比较.现在,我们将使用线性回归 ...
- python线性回归预测pm2.5_李宏毅 线性回归预测PM2.5
作业说明 给定训练集train.csv,要求根据前9个小时的空气监测情况预测第10个小时的PM2.5含量. 训练集介绍: (1):CSV文件,包含台湾丰原地区240天的气象观测资料(取每个月前20天的 ...
- python线性回归预测pm2.5_线性回归预测PM2.5----台大李宏毅机器学习作业1(HW1)
一.作业说明 给定训练集train.csv,要求根据前9个小时的空气监测情况预测第10个小时的PM2.5含量. 训练集介绍: (1).CSV文件,包含台湾丰原地区240天的气象观测资料(取每个月前20 ...
- 大数据线性回归预测学生成绩
通过训练集训练和测试集测试来生成多个线性模型,从而预测学生成绩,本文所有代码请点击Github 1. 实验数据背景 1.1 数据来源 本项目的数据来源于kaggle.com,数据集的名称为Studen ...
- python实现一元线性回归预测电影票房收入
数据集请点赞关注收藏后私信博主要 利用回归分析来确定多个变量的依赖关系的方程称为回归方程.如果回归方程所呈现的图形为一条直线,则称为线性回归方程 y=kx+b即称为一元线性回归,也就是大家初中学的一次 ...
- 机器学习:使用scikit-learn的线性回归预测Google股票
这是机器学习系列的第一篇文章. 本文将使用Python及scikit-learn的线性回归预测Google的股票走势.请千万别期望这个示例能够让你成为股票高手.下面按逐步介绍如何进行实践. 准备数据 ...
- 【视频】什么是Bootstrap自抽样及应用R语言线性回归预测置信区间实例|数据分享
最近我们被客户要求撰写关于Bootstrap的研究报告,包括一些图形和统计输出. 自抽样统计是什么以及为什么使用它? 本文将自抽样方法与传统方法进行比较,并了解它为何有用.并在R语言软件中通过对汽车速 ...
- 线性回归预测波士顿房价
波士顿房价数据集(Boston housing prices dataset) #加载数据集 from sklearn import datasets import sklearn from skle ...
- python多元线性回归预测法,Python-Tensorflow2.3.0-多元线性回归预测(学习笔记)
Python-Tensorflow2.3.0-多元线性回归预测(学习笔记) Python-Tensorflow2.3.0-多元线性回归预测(学习笔记) 编译器环境:win10-Anaconda3-py ...
最新文章
- Windows 根据进程名杀死进程 kill
- Struts2中表单与Action传递数据三种方式
- 5.2 matlab多项式计算(多项式的四则运算、求导、求值、求根)
- Python小知识: List的赋值方法,不能直接等于
- gradle镜像配置:使用阿里云仓库服务的代理仓库地址代替jcenter()、mavenCentral()及google()
- spring入门-----spring中遍历各种集合
- html 圆球的百分比,HTML5 很酷的球形器皿中水波状的进度条
- P4414 [COCI2006-2007#2] ABC(python3实现)
- Java 中的5个代码性能提升技巧,最高提升近10倍
- 用女朋友动态图做微信二维码,小白都会
- webpack2 项目
- centos8安装mysql_Linux宝塔面板安装
- js模拟select控件
- SQL教程——TCL语言
- go 并发编程之-工作池
- 不懂zencart该如何找出路-新手soho建站指南
- 一次 Young GC 的优化实践(FinalReference 相关)
- 学习嵌入式Linux开发——RK3288开发板学习规划及目标
- 十一大开源机器人平台
- 消息队列之RabbitMQ原理