【R】【线性回归分析实验】
文章目录
- 实验思维导图
- 1. 收集、探索和准备数据
- 1.1 收集数据
- 1.2 探索和准备数据
- 2. 基于数据训练模型
- 2.1 使用线性回归函数
- 2.2 建立模型
- 3. 评估模型的性能
- 4. 提高模型的性能
- 4.1 将年龄非线性化
- 4.2 数值转换二进制
- 4.3 改进模型
- 资料
- Reference
实验思维导图
1. 收集、探索和准备数据
1.1 收集数据
insurance <- read.csv("~\\insurance.csv",stringsAsFactors=TRUE)
#将character类型数据转换为factors类型(略)
1.2 探索和准备数据
str(insurance)
#查看变量及变量类型等
summary(insurance$charges)
#查看收入的分布:最小值/四分之一值/中位数/平均值/四分之三值/最大值
hist(insurance$charges)
#收入直方图,随着收入增多消费频率降低
table(insurance$region)
#查看region的统计,东南方居住的患者稍多一些
cor(insurance[c("age","bmi","children","charges")])
#age、bmi、children、charges四个变量的相关系数矩阵
#对称结构,其中age与charges两个变量相关系数最大
pairs(insurance[c("age","bmi","children","charges")])
#age、bmi、children、charges四个变量的散点图矩阵
#对称结构,其中age与charge呈正相关关系
2. 基于数据训练模型
2.1 使用线性回归函数
ins_model <- lm(charges~age+children+bmi+sex+smoker+region,data = insurance)
#lm()探索charges与其他变量的相关性
2.2 建立模型
ins_model <- lm(charges~.,data = insurance)
#lm()探索charges与除charges所有变量的相关性
3. 评估模型的性能
summary(ins_model)
#参数注释:
#1.Residuals(残差)部分提供了预测误差的主要统计量,其中有一些统计量明显是相当大的。
#由于残差是真实值减去预测值,所以最大误差值29992.8 表明该模型至少对一个案例的费用少预测了将近三万元
#2.星号表示模型中每个特征的预测能力。3 颗星的出现表示显著性水平为 0,即该特征极不可能是与因变量无关的变量
#而一个通常的做法局势使用 0.05 的显著性水平来表示统计意义上的显著变量。
#3.多元 R 方值(判定系数)提供了一种度量模型性能的方式,即从整体上,模型能多大程度解释因变量的值。#它类似于相关系数,因为它的值越接近于 1.0,模型解释数据的性能就越好。#1.Residuals(残差)这个案例中最大误差值为29992.8,预测值与实际值
#2.星号越多相关性越强
#3.R-squared(R²)越接近1模型性能越好
4. 提高模型的性能
4.1 将年龄非线性化
insurance$age2 <- insurance$age^2
#使年龄变为非线性数据
4.2 数值转换二进制
insurance$bmi30 <- ifelse(insurance$bmi >= 30,1,0)
#大于30岁的bmi替换为1,否则替换为0,即肥胖人士指标
#添加新属性
4.3 改进模型
ins_model2 <- lm(charges~age+age2+children+bmi+sex+bmi30*smoker+region,data = insurance)
#使用新参数非线性的age2、肥胖与吸烟的相互作用bmi30*smoker
summary(ins_model2)
#1.优化后的残差最小值及最大值都变小了;
#2.拥有表示模型中每个特征的预测能力的星号的变量也变多了;
#3.多元 R 方值由原来的 0.75 变为 0.86,更接近于 1,说明模型解释数据的性能变好了。
资料
实验资料
Reference
R语言数据框中的stringsAsFactors参数–刘小花花–CSDN
R语言之lm函数–cognize
【R】【线性回归分析实验】相关推荐
- ”父母子女身高“数据集(高尔顿数据集)进行线性回归分析实验
"父母子女身高"数据集(高尔顿数据集)进行线性回归分析实验 一.配置Excel 二.对数据做线性回归分析 三.父亲母亲分别与儿子做回归方程分析 1.父亲与儿女数据分析 2.母亲与儿 ...
- 线性回归分析——高尔顿数据集更正版
线性回归分析--高尔顿数据集更正版 一."父亲-儿子"身高数据回归分析 1.做数据处理,将数据重复项删除:完成'儿子'分类 2.做回归处理 二."母亲-儿子"身 ...
- 手把手教线性回归分析(附R语言实例)
本文长度为8619字,建议阅读15分钟 本文为你介绍线性回归分析. 通常在现实应用中,我们需要去理解一个变量是如何被一些其他变量所决定的. 回答这样的问题,需要我们去建立一个模型.一个模型就是一个公式 ...
- R语言计量(一):一元线性回归与多元线性回归分析
文章目录 一.数据调用与预处理 二.一元线性回归分析 三.多元线性回归分析 (一)解释变量的多重共线性检测 (二)多元回归 1. 多元最小二乘回归 2. 逐步回归 (三)回归诊断 四.模型评价-常用的 ...
- 多元线性回归分析(R语言)
▼多元线性回归分析▼ 一.多元线性回归模型 设变量Y与X1,X2,--,Xp之间有线性关系 其中 , 和 是未知参数,p≥2,称上公式为多元线性回归模型. 二.参数估计 我们根据多元线性回归模 ...
- R假设检验与一元线性回归分析
假设检验 相关系数 cor(x,y) cor.test(x,y) 相关系数越接近1,x与y越相关 > data("iris") > plot(iris) > ...
- (生物信息学)R语言与统计学入门(七)—— 一元线性回归分析
我们之前讲过相关性分析,生物信息学常见的相关性分析是pearson相关和spearman相关. (生物信息学)R语言与统计学入门(六)-- Pearson和Spearman相关性分析_Lijingxi ...
- python二手房价格预测_Python爬取赶集网北京二手房数据R对爬取的二手房房价做线性回归分析...
前言:本文主要分为两部分:Python爬取赶集网北京二手房数据&R对爬取的二手房房价做线性回归分析.文章思路清晰,代码详细,特别适合刚刚接触Python&R的同学学习参考. Part1 ...
- 用R进行多元线性回归分析建模
概念:多元回归分析预测法,是指通过对两个或两个以上的自变量与一个因变量的相关分析,建立预测模型进行预测的方法.当自变量与因变量之间存在线性关系时,称为多元线性回归分析. 下面我就举几个例子来说明一下 ...
最新文章
- Interview Q A 小明一家5口如何过桥
- activemq无账户密码登录配置修改
- MATLAB利用串口接收数据,并实时显示图形
- 2.Hadoop的学习(Ubuntu的目录及权限)
- error和exception
- 通过百度 vs 奇虎,来谈博客搜索
- iphone数据迁移到新iphone_Mac专业iPhone数据恢复软件----Omni Recover
- 力扣—— 36. 有效的数独/37. 解数独
- Spectra Logic磁带库成SGI方案中标准化产品
- 哈哈哈,看着问题一个个解决,很有满足感哦
- T-SQL常用日期函数
- 用计算机表白的数字,数字表白密码 表白密码大全
- 视觉SLAM十四讲笔记-6-1
- bzoj5394 [Ynoi2016]炸脖龙 树状数组+拓展欧拉定理
- 电脑休眠后无法唤醒怎么办?
- 阿里云配置二级域名与nginx代理踩坑
- Letsencrypt简单教程调整
- 80端口进不去问题解析
- 剑三连接服务器未响应,剑三帮会联赛启航!武林争霸赛鹿死谁手,可能要看投资人谁更舍得...
- 带你认识 flask 国际化和本地化
热门文章
- if···else,switch-路程折扣题目
- 用C/C++编程实现挖金子游戏「含项目源码」
- 点状字符的一种简便识别方式
- 动态┃彼岸花资本、加密资本等宣布与Filenet达成战略合作,并参与Filenet打包节点竞选
- 学平面设计能做什么?平面设计都有哪些内容
- B2B 手动客户端网络上传数据报错:由于目标机器积极拒绝,无法连接,解决办法
- 在Quatrus 9.0环境下实现4位比较器(bdf文件实现)
- 听说 Flutter 最近要多火爆就有多火爆,那就推荐一个不错的系列文章吧
- 番外篇2.3 图像处理与深度学习 - 模式识别
- python 帮助命令的快捷键_Python有哪些常用的快捷键?python开发