R|机器学习入门-多元线性回归(3)

简介: R|机器学习入门-多元线性回归(3)

回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。本文简单的介绍一下多元线性回归。

Multiple Linear Regression

Data Preprocessing

1 读入数据集

# 导入数据

setwd("C:\\Users\\****\\Documents\\ML\\day3\\")
dataset = read.csv('50_Startups.csv')
head(dataset)
  R.D.Spend Administration Marketing.Spend      State   Profit
1  165349.2      136897.80        471784.1   New York 192261.8
2  162597.7      151377.59        443898.5 California 191792.1
3  153441.5      101145.55        407934.5    Florida 191050.4
4  144372.4      118671.85        383199.6   New York 182902.0
5  142107.3       91391.77        366168.4    Florida 166187.9
6  131876.9       99814.71        362861.4   New York 156991.1

2 数据预处理

# 虚拟变量
dataset$State = factor(dataset$State,
                       levels = c('New York', 'California', 'Florida'),
                       labels = c(1, 2, 3))

3 训练集和测试集

将数据按照4:1拆分,每一组分别包含自变量和因变量

# install.packages('caTools')
library(caTools)
set.seed(123)
split = sample.split(dataset$Profit, SplitRatio = 0.8)
training_set = subset(dataset, split == TRUE) # 多自变量
test_set = subset(dataset, split == FALSE) # 单因变量
dim(training_set)
[1] 40  5
dim(test_set)
[1] 10  5

4 模型拟合及预测

通过训练集进行模型拟合得到曲线,然后将测试集的X_test带入曲线中,得到预测结果y_pred,最后将预测结果y_pred与测试集中的y_test进行比较,确定预测是否准确。


4.1 多重线性回归

regres = lm(formula = Profit ~ R.D.Spend + Administration + Marketing.Spend + State,
               data = training_set)
summary(regres)
Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
(Intercept)      4.965e+04  7.637e+03   6.501 1.94e-07 ***
R.D.Spend        7.986e-01  5.604e-02  14.251 6.70e-16 ***
Administration  -2.942e-02  5.828e-02  -0.505    0.617    
Marketing.Spend  3.268e-02  2.127e-02   1.537    0.134    
State2           1.213e+02  3.751e+03   0.032    0.974    
State3           2.376e+02  4.127e+03   0.058    0.954    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

4.2 进行逐步回归分析

regres.step <- step(regres) 
Step:  AIC=735.89
Profit ~ R.D.Spend + Marketing.Spend
                  Df  Sum of Sq        RSS    AIC
<none>                          3.3627e+09 735.89
- Marketing.Spend  1 3.1338e+08 3.6761e+09 737.45
- R.D.Spend        1 2.3344e+10 2.6706e+10 816.77
regres2 = lm(formula = Profit ~ R.D.Spend +  Marketing.Spend ,
               data = training_set)

4.3 预测结果

y_pred = predict(regres2, newdata = test_set)
y_pred
        4         5         8        11        16        20        21        24 
173687.21 171299.96 160499.08 134783.16 145873.04 114467.75 117025.30 110369.71 
       31        32 
 98447.39  97668.22 
test_set$Profit
 [1] 182901.99 166187.94 155752.60 146121.95 129917.04 122776.86 118474.03 108733.99
 [9]  99937.59  97483.56

4.4 结果可视化

plot(test_set$Profit,col="red")
points(y_pred,col="blue")

相关文章
|
1天前
|
机器学习/深度学习 算法 图计算
图机器学习入门:基本概念介绍
图机器学习是机器学习的分支,专注于处理图形结构数据,其中节点代表实体,边表示实体间关系。本文介绍了图的基本概念,如无向图与有向图,以及图的性质,如节点度、邻接矩阵。此外,还讨论了加权图、自循环、多重图、双部图、异构图、平面图和循环图。图在描述数据关系和特征方面具有灵活性,为机器学习算法提供了丰富的结构信息。
7 0
|
1天前
|
机器学习/深度学习
机器学习基础入门(二)(线性回归与成本函数)
已知一系列房子的大小以及其对应的价格的数据,要求是已知房子大小预测其房子的价格
|
1天前
|
机器学习/深度学习 自然语言处理 语音技术
【Python 机器学习专栏】Python 深度学习入门:神经网络基础
【4月更文挑战第30天】本文介绍了Python在深度学习中应用于神经网络的基础知识,包括神经网络概念、基本结构、训练过程,以及Python中的深度学习库TensorFlow和PyTorch。通过示例展示了如何使用Python实现神经网络,并提及优化技巧如正则化和Dropout。最后,概述了神经网络在图像识别、语音识别和自然语言处理等领域的应用,并强调掌握这些知识对深度学习的重要性。随着技术进步,神经网络的应用将持续扩展,期待更多创新。
|
1天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 中的线性回归模型详解
【4月更文挑战第30天】本文介绍了Python中的线性回归模型,包括基本原理、实现步骤和应用。线性回归假设因变量与自变量间存在线性关系,通过建立数学模型进行预测。实现过程涉及数据准备、模型构建、参数估计、评估和预测。常用的Python库有Scikit-learn和Statsmodels。线性回归简单易懂,广泛应用,但对异常值敏感且假设线性关系。其扩展形式如多元线性、多项式回归和正则化方法能适应不同场景。理解并运用线性回归有助于数据分析和预测。
|
1天前
|
机器学习/深度学习 算法 数据挖掘
【Python 机器学习专栏】Python 机器学习入门:基础概念与流程
【4月更文挑战第30天】本文介绍了Python在机器学习中的重要性,机器学习的基础概念和分类,包括监督学习、非监督学习和强化学习。Python因其丰富的库(如Scikit-learn、TensorFlow、PyTorch)、简单易学的语法和跨平台性在机器学习领域广泛应用。文章还概述了机器学习的基本流程,包括数据收集、预处理、特征工程、模型训练与评估等,并列举了常用的Python机器学习算法,如线性回归、逻辑回归、决策树和支持向量机。最后,讨论了Python机器学习在金融、医疗、工业和商业等领域的应用,鼓励读者深入学习并实践这一技术。
|
1天前
|
机器学习/深度学习 数据可视化 数据挖掘
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
《Python 简易速速上手小册》第9章:数据科学和机器学习入门(2024 最新版)
25 1
|
1天前
|
机器学习/深度学习 人工智能 分布式计算
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
|
1天前
|
机器学习/深度学习 传感器 算法
机器学习基础入门(一)(机器学习定义及分类)
机器学习基础入门(一)(机器学习定义及分类)
|
1天前
|
机器学习/深度学习 人工智能 自然语言处理
|
1天前
|
机器学习/深度学习 Serverless
机器学习入门案例-鸢尾花
机器学习入门案例-鸢尾花
25 0

热门文章

最新文章

http://www.vxiaotou.com