线性回归数据分析

进入机器学习阶段后第一次接触线性回归,感觉线性回归其实就是通过有限的离散型数据,找到一条直线,使得尽可能多的离散点,分布在线附近的区域(理想状态是所有的点都在线上,但是一般是无法满足的),以此来预测出现在未知位置的点的分布情况,从而预测出你要评估的目标值。

首先,什么是回归,  回归分析研究的是多个变量之间的关系。它是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。

其次,

  回归分析的好处比较多,主要有以下几点:

        (1)它表明自变量和因变量之间的显著关系

        (2)它表明多个自变量对一个因变量的影响强度。

        (3)允许我们去比较那些衡量不同尺度的变量之间的相互影响,如价格变动与促销活动数量之间联系

最后:

    3、回归与拟合的区别

       拟合的概念更广泛,拟合包含回归,还包含插值和逼近。拟合是一种数据处理的方式,不特指哪种方法.简单的说就是你有一组数据,觉得这组数据和一个已知的函数(这个函数的参数未定)很相似,为了得到最能表示这组数据特征的这个函数,通过拟合这种方式(具体的数学方法很多)求得参数.而回归是一种特定的数学方法,它可以实现数据拟合,得到函数的参数.也有些拟合得到的参数并非是函数的参数,如神经网络,得到的是这个神经网络的参数。
 

三大步:

一、准备数据,将得到的数据进行初步的处理,使得其满足,下一步操作需要的类型

这一步可能会用到的操作就是标准化和归一化处理,而这一操作在sklearn库里介绍的很详细,也很简单,不做赘述

 

二、创建模型,进行数据集的训练,通常也会分为训练集和测试集两种,训练集就是通过不停地数据代入,不停地探索出最合理的直线,测试值就是对这条直线预测性能的评判

 

三、新数据导入,得出预测结果。

机器学习其实就是计算机通过大量数据来模拟人脑的思考分析能力的体现,我们思考这些,是通过感性和理性的双重认知得出结果,但是机器只能通过数据模拟我们理性认知的这部分,而机器学习的性能评分就是对机器的这种行为做出的评价,评分高的说明预测的结果更偏向于真实,反之,说明预测值和真实值之间差距较大。

线性回归只是回归里最常见最基本的一种,主要用于离散的数据,表现出线性关系的时候运用比较有意义,当然其他的回归模型也是能够广泛运用的,会根据数据的表现形式选择合适的模型。

def boston_liner():#获取数据lb=load_boston()#分割数据集到训练集和测试集x_train,x_test,y_train,y_test=train_test_split(lb.data,lb.target,test_size=0.25)#特征值和目标值都必须进行标准化处理,实例两个标准APIstd_x=StandardScaler()x_train=std_x.fit_transform(x_train)#用转化训练集的标准归一化测试集x_test=std_x.transform(x_test)#目标值std_y=StandardScaler()y_train=std_y.fit_transform(y_train.reshape(-1,1))y_test=std_y.transform(y_test.reshape(-1,1))#正规方程求解方式预测结果lr=LinearRegression()lr.fit(x_train,y_train)print(lr.coef_)#保存训练好的模型joblib.dump(lr,'./test.pkl')print('orgin value;;;;;',std_y.inverse_transform(y_test[7]))#预测测试集的房子价格y_lr_predict=std_y.inverse_transform(lr.predict(x_test))print('正规方程测试集里面的每个房子的预测价格',y_lr_predict)print('正规方程R2评分',r2_score(std_y.inverse_transform(y_test),y_lr_predict))boston_liner()  

以上理解仅是个人见解,不到之处,欢迎指正!

关于更多回归模型可以参考一下几种:

回归模型重要的基础或者方法就是回归分析,回归分析是研究一个变量(被解释变量)关于另一个(些)变量(解释变量)的具体依赖关系的计算方法和理论, [2]  是建模和分析数据的重要工具。在这里,我们使用曲线/线来拟合这些数据点,在这种方式下,从曲线或线到数据点的距离差异最小。下面是回归分析的几种常用方法 [3]  

1. Linear Regression线性回归

它是最为人熟知的建模技术之一。线性回归通常是人们在学习预测模型时首选的技术之一。在这种技术中,因变量是连续的,自变量可以是连续的也可以是离散的,回归线的性质是线性的。

线性回归使用最佳的拟合直线(也就是回归线)在因变量(Y)和一个或多个自变量(X)之间建立一种关系。

用一个方程式来表示它,即

其中a表示截距,b表示直线的斜率,e是误差项。这个方程可以根据给定的预测变量(s)来预测目标变量的值。

2.Logistic Regression逻辑回归

逻辑回归是用来计算“事件=Success”和“事件=Failure”的概率。当因变量的类型属于二元(1 / 0,真/假,是/否)变量时,我们就应该使用逻辑回归。这里,Y的值从0到1,它可以用下方程表示。

上述式子中,p表述具有某个特征的概率。

3. Polynomial Regression多项式回归

对于一个回归方程,如果自变量的指数大于1,那么它就是多项式回归方程。如下方程所示:

在这种回归技术中,最佳拟合线不是直线。而是一个用于拟合数据点的曲线。

4. Stepwise Regression逐步回归

在处理多个自变量时,我们可以使用这种形式的回归。在这种技术中,自变量的选择是在一个自动的过程中完成的,其中包括非人为操作。

这一壮举是通过观察统计的值,如R-square,t-stats和AIC指标,来识别重要的变量。逐步回归通过同时添加/删除基于指定标准的协变量来拟合模型。下面列出了一些最常用的逐步回归方法:

  • 标准逐步回归法做两件事情。即增加和删除每个步骤所需的预测。

  • 向前选择法从模型中最显著的预测开始,然后为每一步添加变量。

  • 向后剔除法与模型的所有预测同时开始,然后在每一步消除最小显着性的变量。

这种建模技术的目的是使用最少的预测变量数来最大化预测能力。这也是处理高维数据集的方法之一。

5. Ridge Regression岭回归

岭回归分析是一种用于存在多重共线性(自变量高度相关)数据的技术。在多重共线性情况下,尽管最小二乘法(OLS)对每个变量很公平,但它们的差异很大,使得观测值偏移并远离真实值。岭回归通过给回归估计上增加一个偏差度,来降低标准误差。

6. Lasso Regression套索回归

它类似于岭回归,Lasso (Least Absolute Shrinkage and Selection Operator)也会惩罚回归系数的绝对值大小。此外,它能够减少变化程度并提高线性回归模型的精度。看看下面的公式:

7.ElasticNet回归

ElasticNet是Lasso和Ridge回归技术的混合体。它使用L1来训练并且L2优先作为正则化矩阵。当有多个相关的特征时,ElasticNet是很有用的。Lasso 会随机挑选他们其中的一个,而ElasticNet则会选择两个。

Lasso和Ridge之间的实际的优点是,它允许ElasticNet继承循环状态下Ridge的一些稳定性。

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

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

相关文章

多元线性回归方差分析表理解

1.单因素一元方差分析的方法和案例: 例子: 案例的代码: X[533 580 525 600 570 650 500; %因数I [A,F]实验组CK标准 565 600 500 615 575 661 510; 525 575 510 590 565 643 513]; group{‘A’,‘B’,‘C’,‘D’,‘E’,‘F’,‘CK’}; [p…

[转] R 逐步回归分析 AIC信息统计量

由于原作者写得太好了,所以直接转载的,不得不佩服 逐步回归分析是以AIC信息统计量为准则,通过选择最小的AIC信息统计量,来达到删除或增加变量的目的。 R语言中用于逐步回归分析的函数 step() drop1() add1() add1()函数…

数据分析02-线性回归

可分为线性回归分析和非线性回归分析。如果在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是…

线性回归t检验

原理 数据 以下是部分数据展示,蒸发为因变量,其它为自变量,求自变量与因变量相关系数及t值。 年份蒸发湿度温度降雨1990848.3672.4914.60839.261991810.6673.4913.601348.761992914.2669.4914.00626.761993665.6674.4913.601212.061994848…

多元线性回归中的F-test和T-test

1 举个例子 模型输出的p值检验为F检验 模型输入的p值检验为T检验 原理: 后续补充 先上代码2: import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression

多元线性回归超详细详解(一步一步手推公式)

上一篇我们详细的讲解了一元一次线性回归算法,今天我们接着上一篇,为大家讲解多元线性回归是怎么一回事。 何为多元?当我们的输入x只有一维属性时,我们称之为一元。就像我们判断人胖瘦,只需了解体重这一个属性&#x…

线性回归模型详解(Linear Regression)

目录 线性与非线性 线性回归 多重共线性 常用的回归模型评估指标 算法优缺点 算法实现 回归分析的主要算法包括: 线性回归(Linear Regression)逻辑回归(Logistic regressions)多项式回归(Polynomial Regression)逐步回归(Step Regress…

数据线性回归分析

目录 一、利用WPS进行线性回归分析 二、利用jupyter编程(不借助第三方库) 对数据进行线性回归分析 1、将数据文件上传(方便后续打开数据文件) 2、添加代码 ​编辑 3 、输出200组数据 4、输出2000组数据 5、利用pandas打开ex…

用ggplot2进行直线回归并添加回归方程和方差分析表

library(ggplot2) #加载ggplot2包 library(dplyr) #加载dplyr包 library(ggpmisc) #加载ggpmisc包mpg %>% ggplot(aes(x displ, y hwy)) geom_point(aes(color drv)) #以drv为分组设置点的颜色geom_smooth(method lm, formula y ~ x) #绘制回归直线stat_poly_eq(aes…

多元线性回归分析(Stata)

目录 一、回归分析的介绍与分类 二、多元线性回归模型的条件 1. 线性理解与内生性问题研究 2. 异方差问题 3. 多重共线性问题 一、回归分析的介绍与分类 回归分析的任务是:通过研究自变量X和因变量Y的关系,尝试去解释Y的形成机制,进而达…

一文轻松看懂线性回归分析的交互作用!

作者:丁点helper 来源:丁点帮你 前几天的文章,我们聚焦在回归分析,今天来看看在回归分析中常常要研究的一类难点问题——交互作用的探究。 交互(interaction),字面上不太好理解,但…

多元线性回归模型及stata实现:总论

多元线性回归模型及stata实现:总论 一、模型 Yβ0β1X1β2X2⋯βnXne Y: Dependent variable(因变量、应变量、反应变量、响应变量、被解释变量等)X1、X2⋯Xn:Independent variable(自变量、解释变量、控制变量&…

Linux 系统使用 git 提交代码-- git 的安装及使用(简明教学指南)

序 2023/02/09 晚 鉴于本篇文章收藏量比较多,那就给大家分享点在实际工作中使用频率最高的工作流命令吧。 场景如下(多人共同开发一个项目):我叫小明,参与了一个名为 chatGPT 的项目,这个 AI 最近很火,就以此作为例…

慕课前端售1299元的面试题【第二阶段】汇总 day05

上一篇链接 如果有看不懂的,别硬看,直接chatgpt,让它回答。 - 我的博客需要缩宽页面观看,图片无法均放,很抱歉。 1. 请说明 Ajax Fetch Axios 三者的区别? 1. 用 XMLHttpRequest 实现 Ajax function aja…

Javaweb复习之HTTPTomcatServelet

1.Web概述 1.1 Web和JavaWeb的概念 Web是全球广域网,也称为万维网(www),能够通过浏览器访问的网站。 JavaWeb就是用Java技术来解决相关web互联网领域的技术栈 1.2 JavaWeb技术栈 B/S 架构:Browser/Server,浏览器/服务器 架构模…

DDD领域驱动设计实战-DDD微服务代码结构

更多内容关注微信公众号:fullstack888 DDD并没有给出标准的代码模型,不同的人可能会有不同理解。按DDD分层架构的分层职责定义,在代码模型里分别为用户接口层、应用层、领域层和基础层,建立了 interfaces、application、domain 和…

windows10环境下安装docker、Ubuntu、gitlab、wsl2

一、概述 By星年 文章参考 常用命令参考:(为了方便复制命令都做了换行处理,可直接双击复制。) 进docker terminal: docker exec -it gitlab /bin/bash 查看容器列表: docker ps -a 查看镜像列表: docker images git…

AIGC的发展史:从模仿到创造,AI的创造性探索

在 AI时代,人工智能不再是简单的机器,而是一个具有无限创造力的创造者。AIGC的诞生是人工智能从模仿到创造的一种进步,也是对人类创造力的一种新探索。 而这种由AI生成的内容究竟是如何发展而来的呢?在本文中,我们将探…

如何解决微信支付回调:支付成功及支付失败都不进行任何操作(支付坑)

这几天都在用微信支付这块功能,不得不吐槽一下微信支付的小坑 关于微信提供JSAPI文档,本来想着他们写的开发文档,肯定是没有任何问题。 结果在开发测试中,支付完成后或者支付失败都没任何效果。 我已经在JS里面做了跳转&#xff0…

android微信支付返回-1,支付失败总结!

解决办法1:看看二次生成sign的参数顺序是否跟我发的一致!很坑爹,必须一样才行! 解决办法2:请求得到prepayid参数的url必须是图中的Url